Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker DevOps


IDEA Kubernetes 远程 Debug 连接中断问题

Debug Kubernetes IDEA 大约 439 字

现象

部署在Kubernetes中的Spring Boot项目,开启了远程Debug端口5005,本地连接上后,一段时间就会中断,导致来不及排查问题。

原因

Kubernetes中使用了Deployment控制器调度Pod,而Deploymentyaml中,配置了liveness存活性探针,访问Pod内部的HTTP端口,每隔5秒检测一次,失败3次就会重启Pod

我们的断点类型设置为了All,则所有JVM的非守护线程都会暂停,等待断点结束,而探针还在访问HTTP端口,那么到达最大失败次数后,连接自然会被中断。

解决方法

方法一

去除存活性探针,或加大重试间隔和最大失败数。

方法二

将断点类型设置为Thread,这样只会暂停需要Debug的线程。

注意:多线程应用需注意原子类状态。

视频讲解

https://www.bilibili.com/video/BV1Jg411S7xq

https://www.ixigua.com/i7140005925162746400

阅读 64 · 发布于 2022-09-05

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批