当前位置:网站首页>Micro service remote debug, nocalhost + rainbow micro service development second bullet

Micro service remote debug, nocalhost + rainbow micro service development second bullet

2022-07-07 22:32:00 51CTO

In the previous article, we introduced how to pass  Nocalhost Rapid development of Rainbond Microservices on , Introduced the basic development process .

This article will continue to introduce , Use  Nocalhost Development profile Achieve the following :

  • Onekey Run and long-range Debug
  • Persistent configuration
  • Development container resource limitations
  • Port forwarding

What is development configuration ?

Development configuration is around Development mode To carry out , For example, what image is used to enter Development mode , Whether you need to turn on persistence to save the contents of the development container , Which files are synchronized into the development container , How to debug with one click 、 Run the services in the container with one click . After configuring the correct and appropriate development configuration , Can be used in Nocalhost Development mode It's more handy when it comes to .

Deploy Rainbond + SpringCloud

Next, continue to the above article SpringCloud Pig For example , debugging Java Maven Service Pig-auth modular .

project Gitee Address : https://gitee.com/zhangbigqi/pig

Deploy Rainbond

I won't go into details here Rainbond Installation , see also   be based on Linux install Rainbond.

Deploy SpringCloud

We are Rainbond After docking with the open source app store , Search in the open source app store Spring Cloud Pig install 3.5.0 edition .

The English name of the application component installed from the app store is an automatically generated string , We need to set the English name of the component (Deployment Name), adopt Nocalhost When connecting to the cluster, you can distinguish clearly Deployment Corresponding components .

 Microservice remote Debug,Nocalhost + Rainbond The second bullet of microservice development _k8s debug

Nocalhost docking Rainbond

  1. install Nocalhost JetBrains Plugin plug-in unit , See documentation   install Nocalhost JetBrains Plugin plug-in unit .

  2. obtain K8s Kubeconfig, See documentation   obtain Kubeconfig file .

  3. stay pig Under the namespace , Find the workload pig-auth Right click and choose Dev Config ( Development configuration )

 Microservice remote Debug,Nocalhost + Rainbond The second bullet of microservice development _ Container cloud _02

  1. Copy the following configuration file to Dev Config in .
# Deployment Name
name: pig-auth
serviceType: deployment
containers:
	# Deployment  Main container name 
  - name: auth
    dev:
    	#  Developing mirroring , The image contains  Java Maven  Environmental Science 
      image: registry.cn-hangzhou.aliyuncs.com/zqqq/maven:3.8.6-openjdk-8
      #  The default terminal is  bash
      shell: bash
      # Rainbond  Provided  StorageClass Name
      storageClass: rainbondvolumerwx
      #  Configure development container resources 
      resources:
        limits:
          memory: 4096Mi
          cpu: "2"
        requests:
          memory: 2048Mi
          cpu: "1"
      persistentVolumeDirs:
      	# Maven  Depend on the package cache path , coordination  storageClass  Eat together 
        - path: /root/.m2/repository
          capacity: 10Gi
      command:
        #  One click start command , Install dependent packages and start  pig-auth  Sub module 
        run:
          - mvn
          - install
          - '&&'
          - mvn
          - spring-boot:run
          - -pl
          #  Specify sub module startup 
          - pig-auth
        #  Onekey  Debug  command , Install dependent packages and  Debug pig-auth  Sub module 
        debug:
          - mvn
          - install
          - '&&'
          - mvn
          - spring-boot:run
          - -pl
          #  Specify sub module startup 
          - pig-auth
          # Java Debug  command 
          - -Dspring-boot.run.jvmArguments=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
      debug:
        #  Remote port , Corresponding Debug In the command  address=5005
        remoteDebugPort: 5005
        #  choice  Java  Language 
        language: java
      #  Thermal loading 
      hotReload: true
      #  File synchronization 
      sync:
        type: send
        mode: gitIgnore
        deleteProtection: true
      #  Port forwarding , Forward... In the container 3000 Port to local 3999
      portForward:
        - 3999:3000

     
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.

Onekey Run

  1. Right click workload pig-auth .
  2. choice Remote Run.
  3. Nocalhost Will automatically enter DevMode And implement Remote Run.

 Microservice remote Debug,Nocalhost + Rainbond The second bullet of microservice development _k8s debug_03

Onekey Debug

  1. Right click workload pig-auth .
  2. choice Remote Debug.
  3. Nocalhost Will automatically enter DevMode And implement Remote Debug.
  4. Put a breakpoint in the code , Initiate request , Get into IDE Debug Pattern .

 Microservice remote Debug,Nocalhost + Rainbond The second bullet of microservice development _k8s debug_04

Persistent configuration

At development time , Most of the files we want to persist are Dependency package journal , This article also caches Java The dependency package of .

rainbondvolumerwx yes Rainbond The storage class provided by default , After filling in the following configuration, it will be automatically created under the current namespace PVC, as follows :

storageClass: rainbondvolumerwx					
persistentVolumeDirs:
  - path: /root/.m2/repository
    capacity: 10Gi

     
  • 1.
  • 2.
  • 3.
  • 4.

 Microservice remote Debug,Nocalhost + Rainbond The second bullet of microservice development _ Container cloud _05

Container resource limit

Limit the resources of the development container , Quota can maximize the resource utilization of the server , You can modify it through the following development configuration :

resources:
  limits:
    memory: 4096Mi
    cpu: "2"
  requests:
    memory: 2048Mi
    cpu: "1"

     
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

Port forwarding

Forward container port to local , You can modify it through the following development configuration :

portForward:
  - 3999:3000 		#  Forwarding container  3000  Port to local  3999  port 

     
  • 1.
  • 2.

Last

Of course Nocalhost You can debug multiple microservices at the same time , In the same way, you only need to modify Deployment Name and Containers Name And the sub module of microservice .

Nocalhost There are also some things that are not mentioned in the development configuration article , such as : Development environment variables 、 Two modes of file synchronization patterngitignore wait , also Nocalhost Support for multiple languages ,Java It's just one of them , Guys can explore on their own .

Nocalhost + Rainbond Let's develop 、 More efficient deployment 、 convenient .

原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207072135076210.html