IntelliJ IDEA 2025.1 Help

使用 Telepresence 进行远程调试

Telepresence 是一个工具,让您可以访问 Kubernetes 集群中的服务,调试这些服务,并进行更改和测试,就像这些服务在您的本地计算机上运行一样。

Kubernetes 插件提供与 Telepresence 的集成,使您能够:

连接 Telepresence

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

  2. 右键点击您的 Kubernetes cluster,然后选择 连接Telepresence。 或者,点击工具栏中的 Telepresence 图标。 当系统提示时,请输入用于启动 Telepresence 守护进程的管理员帐户密码。 在 Windows 上,允许执行 telepresence.exe

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

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

Telepresence Connect

拦截集群的流量

拦截允许您将流向 Kubernetes 集群中服务的流量路由到本地服务。

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

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

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

    远程呈现拦截

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

退出 Telepresence

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

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

  2. 右键点击您的 Kubernetes cluster,然后选择 退出Telepresence。 或者,点击工具栏中的 退出 Telepresence 图标

运行应用程序进行拦截

在 IntelliJ IDEA 中,您可以通过点击一次来运行本地应用程序,并同时将前往 Kubernetes 集群中某个服务的流量重定向到该本地应用程序。

这是通过配置到 Kubernetes 集群的隧道(一个 Telepresence 拦截)并将其添加为运行配置中的 启动前任务来实现的。 每次您运行此运行配置时,IntelliJ IDEA 都会创建一个 Telepresence 拦截,使您可以像在本地运行一样调试您的远程应用程序。

为实现此目标,您应该:

  1. 创建带拦截的运行配置

  2. 使用此运行配置运行应用程序

将拦截器添加到您的运行配置中

  1. 确保:

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

    • 您的 IntelliJ IDEA 实例已 连接到您的 Kubernetes 集群

  2. 点击 表示主类声明的装订区域,然后选择 添加隧道进行远程调试。 如果在 IntelliJ IDEA 中至少连接了一个集群,则此操作可用。

    添加隧道进行远程调试

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

  3. 在打开的 将Kubernetes 隧道添加到运行配置 窗口中,选择一个集群和命名空间,然后点击 连接到集群。 当系统提示时,请输入用于启动 Telepresence 守护进程的管理员帐户密码。

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

    • 服务 列表中,选择要拦截的 workload

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

    • 可以选择为 telepresence intercept 命令指定附加选项。

    将 Kubernetes 隧道添加到运行配置

    如果您想查看 Telepresence 命令的输出,请展开 输出 部分。 如果您在连接 Telepresence 时遇到任何错误,此部分将自动展开。

  5. 点击 保存配置。 若要检查截取参数,IntelliJ IDEA 将创建一个拦截,然后离开它。

截距参数将以 添加调试隧道 的形式保存在新的运行配置中的启动任务之前。 为了将其与其他运行配置区分开来,此运行配置名称将包含 (Telepresence) 后缀,例如 MyApp (Telepresence)

您现在可以准备 运行您的应用程序并拦截其远程版本

运行应用程序进行拦截

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

    运行应用程序进行拦截
  2. 点击 以运行它或 以启动调试器会话。

这将运行您的本地应用程序,同时将使用上述指定的参数运行 telepresence intercept 命令。

Telepresence 现在会拦截所有进入集群中某个服务的流量,并将其路由到您的本地应用程序。 您可以在本地编写代码并调试您的 intercepted service。

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

服务工具窗口中的 Telepresence 拦截

当您停止此应用程序(通过点击 ),IntelliJ IDEA也会停止拦截(telepresence leave)。

最后修改日期: 2025年 4月 24日