使用 IDEA 或 VScode 在本地启动 pig-auth 服务。
在本地使用 telepresence 拦截 pig-auth 流量,命令如下:
$ telepresence intercept <workload> --port <local-port>:<service port name> -n <namespace>
命令拆解:
# <workload>
# 需要拦截流量的服务 workload
$ kubectl get deploy -n zq
NAME READY UP-TO-DATE AVAILABLE AGE
pig-auth 1/1 1 1 146m
# <local-port> 本地端口
# <service port name>
# 需要拦截流量的服务的 service port name
$ kubectl get svc gr795b69 -n zq -o yaml
...
ports:
- name: http-3000
port: 3000
protocol: TCP
targetPort: 3000
...
# <namespace> 命名空间
最终命令:
$ telepresence intercept pig-auth --port 3000:http-3000 -n zq
Using Deployment pig-auth
intercepted
Intercept name : pig-auth-zq
State : ACTIVE
Workload kind : Deployment
Destination : 127.0.0.1:3000
Service Port Identifier: http-3000
Volume Mount Error : sshfs is not installed on your local machine
Intercepting : all TCP requests
我们在本地给退出登陆这块逻辑打上断点,然后通过线上的前端退出登陆,打到我们本地 IDEA上,整体效果如下: