IDEA远程调试kubernetes环境中的容器应用(Java应用)

这篇具有很好参考价值的文章主要介绍了IDEA远程调试kubernetes环境中的容器应用(Java应用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用场景:

IDEA远程调试kubernetes环境中的容器应用(Java应用)应用场景:Java开发的项目在本地运行正常,然后将容器运行方式的项目发布到远端服务器上线运行后,出现了异常情况,此时频繁去修改代码发布镜像进行问题验证,将耗费较大的时间成本。

为了提高问题定位和代码调试效率,使用端口代理的方式,将远端容器应用的端口映射出来,使用远端代码调试方式进行debug代码。


1. 修改服务部署的deployment.yaml文件

修改指定服务的deployment.yaml文件,为容器添加远程调试的 JVM配置参数:

env:
- name: JAVA_TOOL_OPTIONS
  value: -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

2. 暴露调试端口的两种方式

2.1 使用命令行方式暴露调试端口

启动容器后,会自动开启一个监听 5005 端口的调试服务,可以使用远程调试工具(如 IntelliJ IDEA、Eclipse 等)连接到该端口进行调试。

在Kubernetes 集群环境中,将容器内部的调试端口转发到本地端口上。

kubectl port-forward pod-name 5005:5005

注意:pod-name 是要进行调试的容器所在POD的名称或 ID。


2.2 使用nodePort方式暴露调试端口

当然,如果不想使用上边暴露指定端口的方式的话,可以使用nodePort方式,手动修改POD的services配置文件,加入下面的配置:

- name: debug
  nodePort: 34567
  port: 5005
  porttocol: TCP
  targetPort: 5005

上边配置说明给目标POD增加了一个新的端口映射。5005 --》 34567


3. 在IDEA启动运行配置中加入Remote JVM Debug配置

在出现的窗口面板中,Configgurations Logs配置参数如下:文章来源地址https://www.toymoban.com/news/detail-497570.html

Debugger mode: Attatch to remote JVM

Transport: Socket

#指定的POD服务所在节点IP地址
Host: 1.1.1.1

#指定POD服务暴露的调试端口
Port: 34567

#下面的这行参数不用关心,自动产生的
Command line argumens for remote JVM: 
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=34567

4. DEBUG调试

  1. 首先,在本地IDEA中运行Remote Debug
  2. 在postman上配置POD所在集群的主节点IP地址,端口为POD中项目的业务端口,注意不要配成上边暴露的远端debug端口34567

到了这里,关于IDEA远程调试kubernetes环境中的容器应用(Java应用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ETL工具】本地环境IDEA远程DEBUG调试Flume代码

    🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油! 🪁🍁🪁🍁🪁🍁🪁🍁 目录 🦄 个人主页——🎐个人主页 🎐✨🍁 一、问题说明 二、操作步骤 2.1 idea创建远程调试 Flume 自定义 HDFS-Sink,远程服务器进行部署flume打包好后的代码,本地监控远程flume程序

    2024年02月08日
    浏览(42)
  • 【Python编程工具】【ssh连接Docker容器】如何使用Docker容器里的python环境,如何调试在容器中的代码

    本篇博客将介绍如何在Docker容器中打开SSH连接服务,以及如何使用JetBrains Gateway软件进行代码调试。 JetBrains Gateway是一款紧凑型桌面应用,可让您通过 JetBrains IDE 远程工作,甚至无需下载这些IDE。通过在桌面端安装这款软件,您可以直接调试服务器上的代码。 使用以下命令启

    2024年01月25日
    浏览(67)
  • Java支付SDK接口远程调试 - 支付宝沙箱环境【公网地址调试】

    转发自CSDN远程穿透的文章:Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】 Maven Spring boot Jdk 1.8 获取支付宝支付Java SDK,maven项目可以选择maven版本,普通java项目可以在GitHub下载,这里以maven为例 SDK下载地址:https://doc.open.alipay.com/docs/doc.htm?treeId=193articleId=103419docType=1 选择

    2023年04月18日
    浏览(52)
  • Java实现支付宝沙箱环境支付,SDK接口远程调试

    转发自cpolar内网穿透的文章:Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】 Maven Spring boot Jdk 1.8 获取支付宝支付Java SDK,maven项目可以选择maven版本,普通java项目可以在GitHub下载,这里以maven为例 SDK下载地址:https://doc.open.alipay.com/docs/doc.htm?treeId=193articleId=103419docType=1 选择

    2024年02月06日
    浏览(61)
  • Java开发者必备:支付宝沙箱环境支付远程调试指南

    🔥 博客主页 : 小羊失眠啦. 🔖 系列专栏 : C语言 、 Linux 、 Cpolar ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地

    2024年02月08日
    浏览(57)
  • Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】

    转发自CSDN远程穿透的文章:Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】 Maven Spring boot Jdk 1.8 获取支付宝支付Java SDK,maven项目可以选择maven版本,普通java项目可以在GitHub下载,这里以maven为例 SDK下载地址:https://doc.open.alipay.com/docs/doc.htm?treeId=193articleId=103419docType=1  选择

    2024年02月02日
    浏览(55)
  • 本地配置Java支付宝沙箱环境模拟支付并内网穿透远程调试

    在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境中有多种支付场景,往往是多人联合开发,本地环境可能无法满足异地联合,所以把本地环境变成公网环境下进行调试开发会更好。 本次教程,我们将使用支付宝平台提供的沙箱环境,在本地配

    2024年02月04日
    浏览(50)
  • 支付宝沙箱环境配置结合内网穿透实现远程调试Java SDK接口

    1.测试环境 Maven Spring boot Jdk 1.8 2.本地配置 获取支付宝支付Java SDK,maven项目可以选择maven版本,普通java项目可以在GitHub下载,这里以maven为例 SDK下载地址:https://doc.open.alipay.com/docs/doc.htm?treeId=193articleId=103419docType=1 选择最新版的SDK版本 复制maven坐标,导入spring boot项目pom 文件里面

    2024年02月04日
    浏览(54)
  • 关于java k8s容器环境中的jvm配置与优化

    环境 版本 备注 k8s v1.22+ 配置cpu/mem limit、健康/就绪检查 openjdk 8 openjdk version \\\"1.8.0_342\\\" k8s容器化(docker)环境更好的解决了 java app 运行环境的封装问题。但存在着一些限制,比如 Java 并不能发现 pod 设置的内存限制(mem limit,java 默认以宿主机的内存为基准),当 java 内存占用

    2024年02月16日
    浏览(53)
  • 云原生环境下JAVA应用容器JVM内存如何配置?—— 筑梦之路

    Docker环境下的JVM参数非定值配置 —— 筑梦之路_docker jvm设置-CSDN博客 之前简单地记录过一篇,这里在之前的基础上更加细化一下。 使用Java开发且设置的JVM堆空间过小时,程序会出现系统内存不足OOM(Out of Memory)的问题。事件中心的OOM事件是指系统内存不足时,触发了Linux的

    2024年02月06日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包