zoukankan      html  css  js  c++  java
  • 远程调试k8s里的java应用

    在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
    

      

    661283-20211212092115780-1292840141

    在idea里的运行配置里增加远程调试配置,注意Host需要填写能直接调试的IP,这个不一定都是被调试应用的负载IP,比如:用port-forward,那这个地方填写的是你k8s节点的IP或者域名,如果是用server的LoadBlancer来暴露的调试端口,那你这里填写的是负载IP,还如server里如果用的NodePort的话,那你就填写k8s节点IP,但这个时候填写的端口并不是你应用端口,而是k8s随机生成的端口,等等,这些都是k8s最基本的网络概念,大家自行尝试。


    image

    启动debug后就可以欢快的调试了。

    image

  • 相关阅读:
    心血来潮学python
    lua中的table、stack和registery
    wrapper for lua
    FT232RL变砖之后
    12.04 redmine
    Webpack 概念
    如何学习 Webpack
    React基础篇
    Intellij实用技巧
    一行代码搞定图片缩放、旋转、加水印
  • 原文地址:https://www.cnblogs.com/javalittleman/p/15678283.html
Copyright © 2011-2022 走看看