k8s部署的java服务添加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调试参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- 阿里云k8s集群使用ingress配置时间超时的参数
- idea快捷键生成getter和setter,有构造参数,无构造参数,重写toString方式
- Idea设置spring boot应用配置参数的两种方式
- idea为java程序添加启动参数的问题解析(program arguments,vm arguments,Environment variable)并在程序中获取使用
- IntelliJ IDEA设置JVM运行参数的图文介绍
- IDEA中Debug调试VUE前端项目调试JS只需两步
- 在IDEA中Debug调试VUE项目的详细步骤
- idea 无法debug调试的解决方案
- Intellij IDEA Debug调试技巧(小结)
- 你不知道的 IDEA Debug调试小技巧(小结)