📜  为部署在 Kubernetes 环境中的Java应用程序启用远程调试

📅  最后修改于: 2022-05-13 01:54:34.180000             🧑  作者: Mango

为部署在 Kubernetes 环境中的Java应用程序启用远程调试

在开发期间,开发人员必须调试他们的应用程序以解决代码问题。为了调试部署在 Kubernetes 集群中远程机器上的Java应用程序,首先开发人员必须执行一些步骤以使其应用程序准备好进行调试。以下是为在 Kubernetes 环境中作为容器运行的任何Java应用程序启用远程调试的手动步骤。

分步实施

第 1 步:在部署 yaml 文件的“env”部分中添加用于启用调试的Java选项 (JAVA_OPTS) 及其值作为变量,如下所示:

第 2 步:使用以下命令重新启动 pod。假设部署 yaml 文件名为“my-app-deployment.yaml”。

第 3 步:为您的应用程序创建调试服务。假设您已将其命名为“my-app-debug-svc.yaml”或更改现有服务 yaml 文件(如果存在)。请参阅下面的示例服务 yaml 文件,在您的服务 yaml 文件中进行突出显示的更改。添加 nodePort 使外部应用程序(这里是您的 IDE)能够访问部署在 Kubernetes 集群中的容器。

第 4 步:使用以下命令启动调试服务。

第 5 步:在 IDE 中编辑配置以进行远程调试。以下是在 IntelliJ IDE 中编辑配置的步骤:

  • 在 InteliiJ IDE 中打开您的代码库。
  • 转到编辑配置:
  • 单击 + 号并选择远程。为您的远程调试配置提供任何名称。例如,我的调试。提供您要调试的应用程序正在运行的服务器机器的主机名和端口。 “远程 jvm 的命令行参数”字段值将自动填充。单击应用,然后单击确定。

IntelliJ 远程 Dubug 编辑配置

  • 设置断点。
  • 单击调试图标。
  • 检查控制台。它应该说“已连接到目标 VM,地址:':',传输:'socket'”。

IntelliJ 控制台:连接到 VM:准备调试。

这就是您准备远程调试Java应用程序的全部内容!