开发者社区 > 云原生 > 正文

咨询一个问题,目前我们是用k8s的服务都是在容器化的,所以登陆不是很方便,大家有什么方案。 可以在容

咨询一个问题,目前我们是用k8s的服务都是在容器化的,所以登陆不是很方便,大家有什么方案。 可以在容器话的前提下使用arthars吗?

比如我想用traceId看到整个方法的trace 执行链路,以及入参跟返回值 这些

展开
收起
山海行 2023-07-05 16:01:23 78 0
4 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Arthas 是一款 Java 应用程序诊断工具,它可以帮助开发人员和运维人员快速定位和解决 Java 应用程序的性能问题和故障。Arthas 可以在 Java 应用程序的运行时对应用程序进行诊断和调试,包括查看线程堆栈、监控方法调用、修改变量值等操作。

    由于 Arthas 是基于 Java 应用程序运行时的诊断工具,因此它可以在容器化的应用程序中使用。您可以在容器中部署 Arthas,然后通过 Arthas 对容器中的 Java 应用程序进行诊断和调试。

    具体来说,您可以将 Arthas 打包成一个 Docker 镜像,然后将该镜像部署到 Kubernetes 集群中。然后,您可以通过 kubectl 命令行工具或 Kubernetes Dashboard 等管理工具进入容器中,并使用 Arthas 对容器中的 Java 应用程序进行诊断和调试。

    2023-07-30 21:49:37
    赞同 展开评论 打赏
  • 在使用容器化的 Kubernetes 服务时,登录到容器中可能会变得不太方便。一个解决方案是使用远程调试工具如 Arthas 来帮助调试和监视运行中的容器。

    Arthas 是一个开源的 Java 诊断工具,可以提供实时监控、诊断和调试 Java 应用程序。它可以与容器化的 Java 应用程序一起使用。以下是一些步骤来在容器化环境中使用 Arthas:

    1. 在容器内安装 Arthas:首先,你需要在容器内安装 Arthas。这可以通过在 Dockerfile 中添加相关命令或在容器启动脚本中执行安装命令来完成。

    2. 进入容器中:使用 docker exec 命令或其他容器管理工具,进入正在运行的容器。

    3. 启动 Arthas:在容器内部,使用命令行启动 Arthas,并指定你要监视/调试的 Java 进程。

    4. 使用 Arthas 的功能:一旦 Arthas 启动,你就可以使用其提供的命令和功能来监视和调试容器内的 Java 应用程序。例如,你可以查看线程、堆栈跟踪、监测方法调用等。

    需要注意的是,Arthas 主要用于调试和监视 Java 应用程序,因此只适用于容器化的 Java 服务。对于其他容器化的应用程序或使用其他编程语言的应用程序,可能需要使用相应的调试工具。

    此外,为了简化登录到容器中的过程,你还可以考虑以下方法:

    • 配置 SSH 访问:在容器内部启动 SSH 服务,并配置允许从特定 IP 地址访问。这样,你可以通过 SSH 登录到容器中进行调试。
    • 使用容器管理工具:像 kubectl exec 或容器管理平台(如 Rancher、OpenShift 等)提供的工具,可以让你直接进入运行中的容器,而无需手动执行登录命令。
    2023-07-05 18:04:58
    赞同 展开评论 打赏
  • 1、nfs 2、换其他的方式

    此答案来自钉钉群“Arthas开源交流群"

    2023-07-05 17:47:49
    赞同 展开评论 打赏
  • 对于在容器中运行的应用程序,您可以通过Arthas工具来进行远程调试和诊断,以实现类似于本地应用程序调试的效果。Arthas是阿里巴巴开源的Java诊断工具,支持快速诊断和排查Java应用程序中的常见问题,包括内存泄漏、线程问题、性能问题等。同时,Arthas还支持实时追踪应用程序中的方法调用链、入参、返回值等信息,并可以帮助您定位和解决问题。

    以下是使用Arthas进行诊断和调试的基本步骤:

    Arthas支持在Docker容器中执行,您可以使用kubectl命令行工具在容器内运行Arthas Agent守护进程,以便远程连接到应用程序并进行调试。具体方法可参考官方文档:https://alibaba.github.io/arthas/attach.html#在-docker-容器中使用-arthas-agent

    在容器内运行Arthas Agent守护进程后,您可以使用arthas命令行工具连接到目标应用程序并进行诊断和调试。例如,您可以使用arthas命令行工具来查看应用程序中的方法调用链、入参、返回值等信息,还可以使用arthas命令行工具来动态修改类、方法、变量等,以帮助您迅速诊断和解决问题。

    如果您需要在开发环境中对目标应用程序进行更全面的诊断和调试,可以考虑使用Arthas IDE插件,以便更方便地查看应用程序的运行状况和调试信息,并进行更细致的排查和优化。

    Arthas是一款非常强大的Java诊断工具,可以为您的容器化应用程序提供快速的远程调试和诊断功能。

    2023-07-05 16:16:39
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像