GoLand 2025.2 Help

使用 Telepresence 进行远程调试

Telepresence 是一款工具,使您能够访问 Kubernetes 集群中的服务,对其进行调试、修改和测试,如同服务在本地计算机上运行一样。

Kubernetes 插件提供与 Telepresence 的集成,使您可以:

连接 Telepresence

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 ,或按 Alt+8

  2. 右键点击 Kubernetes 集群并选择 连接Telepresence。 或者点击工具栏中的 Telepresence 图标。 根据提示,输入管理员账户密码以启动 Telepresence 守护进程。 在 Windows 上,允许执行 telepresence.exe

  3. 安装 Telepresence 和 Traffic Manager 后,再次点击 连接Telepresence

现在,您可以像在工作站上运行一样,通过 DNS 名称访问 Kubernetes 集群中的服务。 例如,如果您有一个应用接收来自 hello-node:9001 的请求,您可以通过名称访问该应用。

Telepresence 连接

拦截来自集群的流量

拦截功能使您能够将发往 Kubernetes 集群中服务的流量路由至本地服务。

  1. 在工具栏中点击 Telepresence 图标创建新拦截 ),然后点击 创建新拦截

  2. 在打开的窗口中,在 服务 列表中选择要拦截的工作负载。 这可以是 Deployment、ReplicaSet 或 StatefulSet。

    端口 字段中,指定本地服务实例正在运行的端口。

    Telepresence 拦截

如果服务拦截成功,您可以在本地访问,并使用 IDE 功能尝试、调试和分析运行于集群中的应用。

退出 Telepresence

Telepresence 一次仅与一个集群交互,因此在连接到另一个集群前,可能需要先停止当前连接。 退出 Telepresence 将停止所有活动拦截。

  1. 打开 Services 工具窗口:选择 视图(V)| 工具窗口(T)| 服务 ,或按 Alt+8

  2. 右键点击 Kubernetes 集群并选择 退出Telepresence。 或者点击工具栏中的 退出 Telepresence 图标

以拦截方式运行应用

在 GoLand 中,您只需一次点击即可运行本地应用,并同时将发往 Kubernetes 集群中某一服务的流量重定向至该本地应用。

此功能通过配置与 Kubernetes 集群的隧道(即 Telepresence 拦截)并将其添加为运行配置中的 启动前任务 来实现。 每次运行此运行配置时,GoLand 都会创建一个 Telepresence 拦截,允许您像在本地运行一样调试远程应用。

为实现此目的,您应当:

  1. 创建包含拦截的运行配置

  2. 使用该运行配置运行应用

在运行配置中添加拦截

  1. 请确保:

    • 您的服务原始实例已部署并在 Kubernetes 集群中运行,其本地实例的源代码已在编辑器中打开。

    • 您的 GoLand 实例已 连接至 Kubernetes 集群

  2. 点击主类声明附近边距中的 ,然后选择 添加远程调试隧道。 该操作在 GoLand 中至少连接一个集群时可用。

    为远程调试添加隧道

    或者,如果您的应用已存在运行/调试配置,请点击运行部件中的 并选择 添加远程调试隧道

  3. 在打开的 将Kubernetes 隧道添加到运行配置 窗口中,选择集群和命名空间并点击 连接到集群。 根据提示,输入管理员账户密码,以启动 Telepresence 守护进程。

  4. 如果已成功连接至集群,请配置拦截参数:

    • 服务 列表中选择要拦截的工作负载

    • 端口 字段中,指定本地服务实例正在运行的端口。

    • 可选择为 telepresence intercept 命令指定其他选项。

    将 Kubernetes 隧道添加至运行配置

    如果您想查看 Telepresence 命令的输出,请展开 输出 部分。 如果在连接 Telepresence 时发生错误,该部分将自动展开。

  5. 单击 保存配置。 为了检查拦截参数,GoLand 将创建一次拦截然后终止。

拦截参数将作为新的运行配置中的 添加调试隧道 启动前任务保存。 为便于与其他运行配置区分,该运行配置名称将包含 (Telepresence) 后缀,例如: MyApp(Telepresence)

现在,您已可以 运行应用程序并拦截其远程版本

以拦截方式运行应用

  1. 在运行小组件中,选择一个带有 (Telepresence) 后缀的运行配置。

    以拦截方式运行应用
  2. 单击 以运行,或单击 启动调试会话。

此操作将运行本地应用程序,同时使用上述参数运行 telepresence intercept 命令。

Telepresence 现已拦截发送到集群中服务的所有流量,并将其转发到本地应用程序。 您可以在本地编写代码并调试已拦截的服务。

服务 工具窗口将在 Telepresence 拦截 节点下显示已创建的拦截。 Kubernetes 集群的根节点还会显示生成的 telepresence 命令及相关日志。

在 Services 工具窗口中进行 Telepresence 拦截

当您停止该应用程序(通过单击 )时,GoLand 也会停止拦截(telepresence leave)。

最后修改日期: 2025年 9月 26日