使用 telepresence 在本地开发和调试服务

    Kubernetes 应用程序通常由多个独立的服务组成,每个服务都在自己的容器中运行。 在远端的 Kubernetes 集群上开发和调试这些服务可能很麻烦, 需要在运行的容器上打开 Shell, 以运行调试工具。

    是一个工具,用于简化本地开发和调试服务的过程,同时可以将服务代理到远程 Kubernetes 集群。 telepresence 允许你使用使用自定义工具(例如:调试器 和 IDE)调试服务, 并提供对 Configmap、Secret 和远程集群上运行的服务的完全访问。

    本文档描述如何在本地使用 telepresence 开发和调试远程集群上运行的服务。

    • Kubernetes 集群安装完毕
    • 配置好 与集群交互

    安装 telepresence 后,运行 telepresence connect 来启动它的守护进程并将本地工作站连接到远程 Kubernetes 集群。

    在 Kubernetes 上开发应用程序时,通常对单个服务进行编程或调试。 服务可能需要访问其他服务以进行测试和调试。 一种选择是使用连续部署流水线,但即使最快的部署流水线也会在程序或调试周期中引入延迟。

    使用 telepresence intercept $SERVICE_NAME --port $LOCAL_PORT:REMOTE_PORT 命令创建一个 “拦截器” 用于重新路由远程服务流量。

    环境变量:

    • $SERVICE_NAME 是本地服务名称
    • 是服务在本地工作站上运行的端口
    • $REMOTE_PORT 是服务在集群中侦听的端口

    运行此命令会告诉 Telepresence 将远程流量发送到的本地服务,而不是远程 Kubernetes 集群中的服务中。 在本地编辑保存服务源代码,并在访问远程应用时查看相应变更会立即生效。 还可以使用调试器或任何其他本地开发工具运行本地服务。

    如果你对实践教程感兴趣,请查看,其中介绍了在 Google Kubernetes Engine 上本地开发 Guestbook 应用程序。

    如需进一步了解,请访问 Telepresence 官方网站

    本页面中的条目引用了第三方产品或项目,这些产品(项目)提供了 Kubernetes 所需的功能。Kubernetes 项目的开发人员不对这些第三方产品(项目)负责。请参阅了解更多细节。

    在提交更改建议,向本页添加新的第三方链接之前,你应该先阅读内容指南。