k8s测试环境开启远程调试

1. 确保pod开启了JPDA端口(运维协助)

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar

注意上述端口为:5005

案例:

在jenkins配置文件增加如下配置:

2. yaml配置文件修改(运维协助)

yaml 复制代码
containers:
      - name: spring-app
        # ...
        ports:
        - containerPort: 8080 # 应用端口
        - containerPort: 5005 # **调试端口 (关键)**

案例:

3. 建立端口转发隧道

shell 复制代码
## 1.  找到需要调试的pod名称
kubectl get pods -n <your-namespace>
## 例如C大脑: kubectl get pods -n cbrain


## 2. 执行端口转发命令
kubectl port-forward <pod-name> 5005:5005 -n <your-namespace>
## 注意:这里的 5005是第一步里面JPDA开启的端口

案例:

shell 复制代码
 kubectl port-forward cbrain-sipoc-build-76c44cc498-xm9q4 5005:5005 -n cbrain-test

4. IDE连接

shell 复制代码
1. 打开IDE
2. 创建一个 remote JVM Debug 配置
3. 设置参数连接 host:localhost, port: 16005 ## 这里的16005是第3步里面映射端口
4. 点击IDE的debug按钮

案例:

5. 业务端口转发

!!! 注意:

同第3步,区别是:第3步为调试端口转发,这里是业务端口转发。两个端口转发都需要保持开启。

kubectl port-forward 30089:30088 -n

这建立了第二个隧道,将所有发送到本地 30089 端口的 HTTP 请求转发到远程 Pod 的 30088 业务端口。

案例:

kubectl port-forward cbrain-sipoc-build-76c44cc498-xm9q4 30089:30088 -n cbrain-test

6. 本地发起请求

使用postman或者HTTP文件即可

相关推荐
大阿明7 小时前
Spring Boot(快速上手)
java·spring boot·后端
bearpping8 小时前
Java进阶,时间与日期,包装类,正则表达式
java
邵奈一8 小时前
清明纪念·时光信笺——项目运行指南
java·实战·项目
sunwenjian8868 小时前
Java进阶——IO 流
java·开发语言·python
sinat_255487818 小时前
读者、作家 Java集合学习笔记
java·笔记·学习
皮皮林5518 小时前
如何画出一张优秀的架构图?(老鸟必备)
java
百锦再8 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven
森林猿9 小时前
java-modbus-读取-modbus4j
java·网络·python
tobias.b9 小时前
计算机基础知识-数据结构
java·数据结构·考研
reembarkation9 小时前
光标在a-select,鼠标已经移出,下拉框跟随页面滚动
java·数据库·sql