使用telepresence调试

使用telepresence调试

参考: https://jimmysong.io/blog/how-to-debug-microservices-in-kubernetes-with-proxy-sidecar-or-service-mesh/

参考: https://www.telepresence.io/docs/latest/quick-start/?os=windows

参考: hthttps://kubernetes.io/zh-cn/docs/tasks/debug/debug-cluster/local-debugging/

参考: https://www.getambassador.io/docs/telepresence-oss/latest/reference/architecture

参考: https://www.cnblogs.com/lichengmin/p/16227736.html

参考(应该是老版本,可以简单看下其中工作原理方面的说明):https://blog.betacat.io/post/develop-and-debug-k8s-microservices-locally-using-telepresence/

单体项目可以很方便的在本地调试。(本地搭建一套环境)

裸机微服务项目也类似。(本地搭一套环境,或者部分服务放到本地)

容器化的项目,以及k8s中的项目,需要借助工具做本地调试。(代理,sidecar,mesh等方式 )

Proxy 模式:Telepresence

如果本地要访问k8s中的服务,最直接的想法是建vpn:k8s中放个vpn server。本地连接vpn。

参考:https://www.getambassador.io/docs/telepresence-oss/latest/reference/architecture

实际上,有专门的工具Telepresence,更方便好用,而且可以控制流量转发。

参考: https://www.telepresence.io/docs/latest/quick-start/

参考: https://www.cnblogs.com/lichengmin/p/16227736.html

本地安装telepresence

下载对应的程序文件,安装(windows环境是下载对应的压缩包,解压管理员运行其中的ps文件)

在k8s集群中安装telepresence

telepresence helm install

好像是一条语法糖,实际是helm安装的telepresence

允许本地访问k8s中的服务

telepresence connect

查看k8s中的服务(当前命名空间)

telepresence list

拦截k8s中的流量,转发到本地

telepresence intercept <service-name> --port <local-port>[:<remote-port>] --env-file <path-to-env-file>

这里还将远程服务的环境变量保存到本地文件。

对于JetBrains IDE 可以安装EnvFile Plugin方便使用。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注