IDEA 使用 Kubernetes 瑞士军刀 Telepresence 进行网络代理

IDEA Kubernetes Telepresence About 1,153 words

关于 Telepresence

telepresence connect代理本机电脑,使本地就像处于Kubernetes集群环境中,能够直接使用集群的Service域名访问。

telepresence intercept能够拦截指定的Deployment入站流量,导入到本地,方便Debug、修复Bug、验证问题。

与 port-forward 差别

port-forward对于多个service需要开启多个kubectl命令,本地需要映射多个端口,并且是单向流量,只能本地向集群发送。

Telepresence直接让本地处于Kubernetes环境,直接使用service域名访问(ClusterIP类型的Service也可以直接域名访问),而且是双向流量,集群中流量访问本地服务,本地服务访问集群Service

举例说明拦截功能

ServiceAServiceBServiceC三个后端服务,业务调用为ServiceA->ServiceB->ServiceC,先初步发现是ServiceB服务有可能有问题,则使用telepresence intercept service-b-deployment拦截掉访问ServiceB的流量,并转发到本地启动的ServiceB服务。

即本地需要启动ServiceB的服务,集群中的ServiceA调用ServiceB服务时,Telepresence会拦截调用被转发到本地的ServiceB,本地ServiceB会继续调用集群中的ServiceC,因为intercept前提是connect,说明本地环境已经是Kubernetes集群环境了,本地ServiceB可以直接调用集群ServiceC

前提

  1. 本地安装Telepresence二进制文件,配置环境变量。
  2. Telepresence只能拦截DeploymentStatefulSetReplicaSet
  3. 必须有对应ServiceKubernetesService)。

说明

IDEA 2022.2版本的Kubernetes插件才提供的Telepresence功能。

目前IDEA中只能connect,不能quit,需要去命令行执行quit命令。

并且IDEA中不能卸载边车traffic-agent,需要去命令行执行uninstall命令。

备注

Windows需使用CMD、子系统、Chrome访问KubernetesService域名。

不能使用Powershellcurl

视频讲解

https://www.bilibili.com/video/BV1oU4y1z78i

https://www.ixigua.com/i7140007077765710371

Views: 1,911 · Posted: 2022-09-05

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh