k8s部署的java服务添加idea调试参数的方法

 更新时间:2025年02月18日 09:13:16   作者:记录一下  
文章介绍了如何在K8S容器中的Java服务上进行远程调试,包括配置Deployment、Service以及本地IDEA的调试设置,感兴趣的朋友跟随小编一起看看吧

k8s部署的java服务添加idea调试参数

env:
  - name: JAVA_TOOL_OPTIONS
    value: >-
      -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:45005
  - name: spring.profiles.active
    value: test
  - name: server.port
    value: '28091'

idea设置:

补充:idea远程debug调试服务(K8S)

前言

        对于开发人员,debug调试本地服务是最基本的能力。但本地环境终究与真实环境存在一定的差异,有时候某些问题在本地环境正常,放到K8S容器后就出现问题,像这样的一些情况时,我们可能希望在本地能够调试测试、预生产乃至于生产环境(生产环境当然只是想想😄,不要这样做哦)的服务,现在我来介绍下如何进行远程debug k8s容器中服务。

一、远程调试需具备基本的素养

1.会idea的基本Debug调试,我想你大概是会的吧!

2.对K8S容器的部署文件有基本的了解。

3.本地能够访问K8S服务节点服务器,一般ping下或者telnet k8s中服务的service配置的ip和端口。

3.远程服务代码与本地调试代码必须保持一致,不然有可能会出现Debug点错位。

二、远程调试步骤

1.配置deployment

1)启动参数中增加如下参数

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

2)配置调试端口

2.配置service

配置节点端口

在配置时,nodePort一般不用指定(指定有可能会与其他服务端口占用同一个端口),配置完成后,会自动分配一个nodePort端口,后面只要不重新部署service,端口是不会变的

3.调试网络

网络调试的基础是你能够访问到K8S的节点服务器,不然一切都免谈。当然如果有足够的条件,你可以再配一层Ingress,将这个端口映射到某个外网IP上,那就不需要接通K8S容器内网了。

telnet 10.XX.XX.129 8888

使用telnet 工具进行调试,如果能进入telnet,说明ip与端口没有问题,可以进行后面的操作。

这里的IP是service节点ip,端口也是对应的节点端口。

4.本地创建远程调试服务

1)在idea中创建调试服务

2)配置参数

1、host与port是根据K8S的节点ip和端口。

2、模块选择与调试服务一致的代码,代码必须相同。

5.调试

像启动其他服务一样debug启动,打开断点,当远程运行到本地代码的断点时就会捕获断点,可以进行调试了。

总结

idea远程调试在调试一些本地环境无法复现或处理问题时,是一个很不错的方法的。

到此这篇关于k8s部署的java服务添加idea调试参数的文章就介绍到这了,更多相关idea调试参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法

    SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法

    这篇文章主要介绍了SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Java读取Excel文件内容的简单实例

    Java读取Excel文件内容的简单实例

    这篇文章主要介绍了Java读取Excel文件内容的简单实例,有需要的朋友可以参考一下
    2013-11-11
  • SpringBoot Mybatis 配置文件形式详解

    SpringBoot Mybatis 配置文件形式详解

    这篇文章主要介绍了SpringBoot Mybatis 配置文件形式详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • idea使用pagehelper实现后端分页功能的步骤详解

    idea使用pagehelper实现后端分页功能的步骤详解

    这篇文章主要介绍了idea使用pagehelper实现后端分页功能的步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 浅谈java7增强的try语句关闭资源

    浅谈java7增强的try语句关闭资源

    下面小编就为大家带来一篇浅谈java7增强的try语句关闭资源。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • java连接SQL Server数据库图文教程(自用)

    java连接SQL Server数据库图文教程(自用)

    在Java应用程序中,我们经常需要与数据库进行交互,下面这篇文章主要给大家介绍了关于java连接SQL Server数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • Java21新特性Record Patterns示例详解

    Java21新特性Record Patterns示例详解

    这篇文章主要为大家介绍了Java21新特性Record Patterns示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • idea输入sout无法自动补全System.out.println()的问题

    idea输入sout无法自动补全System.out.println()的问题

    这篇文章主要介绍了idea输入sout无法自动补全System.out.println()的问题,本文给大家分享解决方案,供大家参考,需要的朋友可以参考下
    2020-07-07
  • 老生常谈java中的fail-fast机制

    老生常谈java中的fail-fast机制

    下面小编就为大家带来一篇老生常谈java中的fail-fast机制。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • SpringBoot获取http数据、打印HTTP参数的4种方式

    SpringBoot获取http数据、打印HTTP参数的4种方式

    Java的话本地打断点可以调试获取rest入参,但是在生产环境可能我们获取入参(Http header/parameter)可能就没有那么的轻松了,所以本文给大家介绍了SpringBoot获取http数据、打印HTTP参数的4种方式,需要的朋友可以参考下
    2024-03-03

最新评论