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中对SpringMVC的自动配置详解

    SpringBoot中对SpringMVC的自动配置详解

    这篇文章主要介绍了SpringBoot中的SpringMVC自动配置详解,Spring MVC自动配置是Spring Boot提供的一种特性,它可以自动配置Spring MVC的相关组件,简化了开发人员的配置工作,需要的朋友可以参考下
    2023-10-10
  • Java面试题冲刺第二十六天--实战编程2

    Java面试题冲刺第二十六天--实战编程2

    这篇文章主要为大家分享了最有价值的三道java实战编程的面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java简单实现数组中的逆序对

    java简单实现数组中的逆序对

    这篇文章主要为大家详细介绍了java简单实现数组中的逆序对,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • springboot实现指定mybatis中mapper文件扫描路径

    springboot实现指定mybatis中mapper文件扫描路径

    这篇文章主要介绍了springboot实现指定mybatis中mapper文件扫描路径方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 完美解决request请求流只能读取一次的问题

    完美解决request请求流只能读取一次的问题

    这篇文章主要介绍了完美解决request请求流只能读取一次的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 详解java NIO之Channel(通道)

    详解java NIO之Channel(通道)

    这篇文章主要介绍了详解java NIO之Channel(通道)的相关资料,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Java线程核心操作之创建、启动与安全停止完全解析

    Java线程核心操作之创建、启动与安全停止完全解析

    Java作为一种广泛使用的编程语言,具有丰富的多线程支持,在Java中处理多线程的核心在于Thread类和Runnable接口,这篇文章主要介绍了Java线程核心操作之创建、启动与安全停止完全解析的相关资料,需要的朋友可以参考下
    2026-03-03
  • java实现自定义表格渲染和编辑

    java实现自定义表格渲染和编辑

    这篇文章主要为大家详细介绍了java如何实现自定义表格渲染和编辑,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • MyBatis传递多个参数方式

    MyBatis传递多个参数方式

    这篇文章主要介绍了MyBatis传递多个参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Java之哈夫曼压缩原理案例讲解

    Java之哈夫曼压缩原理案例讲解

    这篇文章主要介绍了Java之哈夫曼压缩原理案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论