大家都知道,在没有K8S集群时,我们能直接连接测试环境服务实现debug。随着K8S到来,我们无法直接连接业务服务dubug,K8S Pod 分配的IP地址是集群内部网络,集群外部网络是无法直接访问到Pod,那有什么好的解决方法能直接连接Pod?下面介绍下开源 Telepresence
。
Telepresence 是一种开源工具,可让您在本地运行单个服务,同时将该服务连接到远程 Kubernetes 集群。这使开发 multi-service 应用程序的开发人员能够:
开源地址: https://github.com/telepresenceio/telepresence
Telepresence 在 Kubernetes 集群中运行的 pod 中部署双向网络代理。此 pod 将数据从您的 Kubernetes 环境(例如 TCP 连接、环境变量、卷)代理到本地进程。本地进程的网络被透明覆盖,以便 DNS 调用和 TCP 连接通过代理路由到远程 Kubernetes 集群。
这种方法给出:
environment
、secrets
和 ConfigMap
的完全访问权限可使用 Homebrew、apt 或 dnf 安装
Telepresence 收集有关其用户的一些基本信息,以便它可以发送重要的客户通知,例如新版本可用性和安全公告。我们还使用这些信息匿名汇总基本使用情况分析。要禁用此行为,请设置环境变量 SCOUT_DISABLE
:
export SCOUT_DISABLE=1
这里不在描述,具体参考 https://www.telepresence.io/tutorials/kubernetes