下载 安装请看 官方文档 
需要注意的是文档内所用的版本是 Pro版,与 Github  Release 中下载的 开源版 非同一版本。
以下使用的版本为 v2.19.0 Pro版。
安装 在本机配置 Kubectl Context 并使用 kubectl config use-context dev 切换到指定集群,或者直接在线上服务器执行以下命令安装 Traffic Manager;
1 telepresence helm install 
安装参数请参考 ArtifactHub 
安装完成后 kubectl get pod -n ambassador 查看状态:
1 2 3 NAME                                                READY   STATUS    RESTARTS   AGE traffic-manager-ambassador-agent-56654cffd7-8qqdh   1/1     Running   0          46s traffic-manager-5b77fb5-62lr4                       1/1     Running   0          46s 
连接集群 1 telepresence connect --namespace biz # 指定 namespace 
1 2 3 4 Launching Telepresence User Daemon Launching Telepresence Root Daemon ... Connected to context dev, namespace biz (https://10.x.x.x:6443) 
1 bill              : ready to intercept (traffic-agent not yet installed) 
拦截转发流量 查看指定服务的 yaml 配置:
1 kubectl get svc -n biz bill -o yaml 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 apiVersion:  v1 kind:  Service metadata:   name:  bill    namespace:  biz  spec:   clusterIP:  10.43 .57 .126    clusterIPs:    -  10.43 .57 .126    internalTrafficPolicy:  Cluster    ipFamilies:    -  IPv4    ipFamilyPolicy:  SingleStack    ports:    -  name:  http      port:  80      protocol:  TCP      targetPort:  10000    -  name:  grpc      port:  81      protocol:  TCP      targetPort:  10000    selector:      app:  bill    sessionAffinity:  None    type:  ClusterIP  
可以看到 bill 服务中监听了 10000 端口,所以拦截时指定 10000:10000(<local port>:<remote port>):
1 telepresence intercept bill -p 10000:10000 
1 2 3 4 5 6 7 8 Using Deployment bill    Intercept name         : bill    State                  : ACTIVE    Workload kind          : Deployment    Destination            : 127.0.0.1:10000    Service Port Identifier: port    Volume Mount Error     : sshfs is not installed on your local machine    Intercepting           : all TCP requests 
1 kubectl describe pod -n biz bill-779b9c6bf7-mdmv6 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Init Containers:   tel-agent-init:     Container ID:  containerd://a8c5d0eff4714d77b8299ebe698dfe7907f521524f8ca267e9a1c24958e3ed9d     Image:         docker.io/datawire/ambassador-telepresence-agent:1.14.5     Image ID:      docker.io/datawire/ambassador-telepresence-agent@sha256:3f6f3076b1eca26c460ef166993c3d9e7527fcc2a3d74709e01869a39cfebd91     Port:          <none>     Host Port:     <none>     Args:       agent-init     State:          Terminated       Reason:       Completed       Exit Code:    0       Started:      Tue, 19 Mar 2024 10:02:21 +0800       Finished:     Tue, 19 Mar 2024 10:02:21 +0800     Ready:          True Containers:   bill:     Container ID:   containerd://e43df533e5f3834fcb9d7f5b62bef63b6a01375a3d94cee3f2a5ef8c83592966     Image:          ...     Image ID:       ...     Port:           10000/TCP     Host Port:      0/TCP     State:          Running     Ready:          True   traffic-agent:     Container ID:  containerd://356cdc8b7f423871907778085f43804a5e6c19c98884b0342e88b073d4926c8a     Image:         docker.io/datawire/ambassador-telepresence-agent:1.14.5     Image ID:      docker.io/datawire/ambassador-telepresence-agent@sha256:3f6f3076b1eca26c460ef166993c3d9e7527fcc2a3d74709e01869a39cfebd91     Port:          9900/TCP     Host Port:     0/TCP     Args:       agent     State:          Running       Started:      Tue, 19 Mar 2024 10:02:22 +0800     Ready:          True 
然后访问远程集群地址 https://10.x.x.x:8888/bill/_health 可以看到流量已经转发到本地的 10000 端口。
恢复 1 2 3 telepresence leave bill # stop `bill` intercept telepresence quit -s # stop all local telepresence daemons 
Ref 
https://www.getambassador.io/docs/telepresence