idea远程debug调试服务(K8S)
对于开发人员,debug调试本地服务是最基本的能力。但本地环境终究与真实环境存在一定的差异,有时候某些问题在本地环境正常,放到K8S容器后就出现问题,像这样的一些情况时,我们可能希望在本地能够调试测试、预生产乃至于生产环境(生产环境当然只是想想😄,不要这样做哦)的服务,现在我来介绍下如何进行远程debug k8s容器中服务。idea远程调试在调试一些本地环境无法复现或处理问题时,是一个很不错的方
文章目录
前言
对于开发人员,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远程调试在调试一些本地环境无法复现或处理问题时,是一个很不错的方法的。
更多推荐
所有评论(0)