idea远程debug(物理机、docker、k8s)

时间:2021-08-08
本文章向大家介绍idea远程debug(物理机、docker、k8s),主要包括idea远程debug(物理机、docker、k8s)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

IDEA远程DEBUG

1:物理机部署的Springboot项目远程DEBUG

1.1:idea配置

点击"Edit Configurations",再点击+,选择Remote,

接下来是idea的连接远程主机的jvm配置,远程主机项目启动的时候需要加上启动参数,启动参数在填写完Host和Port和选择JDK版本之后会自动生成,不同的JDK版本的参数是不一样的。

1.2启动项目

1.3测试

至此,物理机远程debug已经完成。

2:Docker远程部署debug

idea的配置和物理机是一样的,主要区别就是docker启动的时候需要暴露出JVM远程debug监听的端口

首先,正常把Springboot项目打成jar包,然后使用Docker命令把jar包打成docker镜像

Dockerfile文件内容如下:和以往不同的主要是暴露出远程debug的端口

start.sh启动脚本的内容如下:

然后把jar包打成docker镜像

查看镜像是否创建成功:

启动容器:启动的时候记得要加上远程debug的端口映射

查看容器是否启动成功:

测试:和物理机的测试一样。

3:kuberneters远程debug

kubernetes的远程debug是建立的第二步docker镜像remote_debug的基础上,主要区别就是正常创建pod之后需要在pod上暴露出远程debug的端口,然后在新建一个NotePort类型的Service,暴露出对应的端口供远程debug使用。

3.1使用pod控制器Deployment创建pod

注意:使用pod控制器Deployment创建pod之前要确保k8s集群中的每台机器都打包了remote_debug这个镜像,不会创建pod的时候会找不到对应的镜像的。

使用Deployment创建pod的yaml内容,test_debug.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: remote-debug
namespace: dev
spec:
replicas: 3
selector:
  matchLabels:
    app: debug
template:
  metadata:
    labels:
      app: debug
  spec:
    containers:
    - name: test
      image: remote_debug
      imagePullPolicy: Never
      ports:
      - containerPort: 8001
      - containerPort: 30435

查看控制器和pod是否创建成功

创建访问APP的service,app-svc.yaml

apiVersion: v1
kind: Service
metadata:
name: app-service
namespace: dev
spec:
selector:
  app: debug
type: NodePort # service类型
ports:
- port: 8001
  # nodePort: 5006 # 指定绑定的node的端口(默认的取值范围是:30000-32767), 如果不指定,会默认分配
  targetPort: 8001

查看访问APP的service是否创建成功

创建暴露debug端口的service,remote-svc.yaml

apiVersion: v1
kind: Service
metadata:
name: remote-service
namespace: dev
spec:
selector:
  app: debug
type: NodePort # service类型
ports:
- port: 30435   # service端口
  nodePort: 30435 # 主机端口 指定绑定的node的端口(默认的取值范围是:30000-32767), 如果不指定,会默认分配
  targetPort: 30435 # pod端口

查看暴露debug端口的service是否创建成功

测试(和物理机部署测试一样)

只不过这里浏览器访问的时候要访问app-service暴露的端口

http://master:32341/test

然后idea启动debug就可以愉快的debug了。

至此,本文已经结束,相信会对大家使用idea进行远程debug有一定的帮助!

原文地址:https://www.cnblogs.com/wkynf/p/15115295.html