在jvm參數里增加這個參數
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
以下為在Dockerfile里增加該jvm參數,記得要暴露調試端口,當然你也可以在k8s的deployment里增加jvm環境變量。增加jvm主要是這兩方式,任選其一。
FROM harbor.y.com/library/java:8 MAINTAINER javalittleman@gmail.com ENV LANG C.UTF-8 ENV TZ Asia/Shanghai WORKDIR /usr/local/app ADD target/javalittleman-boot.jar ./app.jar EXPOSE 8083 EXPOSE 5005 CMD java -Djava.security.egd=file:/dev/./urandom -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar
在idea里的運行配置里增加遠程調試配置,注意Host需要填寫能直接調試的IP,這個不一定都是被調試應用的負載IP,比如:用port-forward,那這個地方填寫的是你k8s節點的IP或者域名,如果是用server的LoadBlancer來暴露的調試端口,那你這里填寫的是負載IP,還如server里如果用的NodePort的話,那你就填寫k8s節點IP,但這個時候填寫的端口並不是你應用端口,而是k8s隨機生成的端口,等等,這些都是k8s最基本的網絡概念,大家自行嘗試。
啟動debug后就可以歡快的調試了。



