针对k8 pod内的pid运行linux命令

问题描述

是否可以对在kubernetes pod中运行的进程运行linux命令。示例:我想在运行在k8 pod内的java进程上获取heapdumps。 Pod安装最少,并且没有足够的磁盘空间,因此我想从本地计算机运行jmap命令(指向k8集群)。谢谢。

解决方法

kubectl exec做到了。它允许在容器内运行任何命令。例如:

kc exec <POD_NAME> -- jmap -dump:live,format=b,file=heapdump.bin <pid>
,

正如我在评论中已经提到的那样,您可以使用kubectl exec命令:

在容器中执行命令。

用法:

$ kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...]

kubectl exec命令是一个工具,可通过在容器内执行命令来检查和调试应用程序。

如果您需要更多有关使用它的详细信息和示例,我建议您使用以下两个指南:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...