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

running a linux command against a pid inside k8 pod

是否可以对 运行 正在 kubernetes pod 中的进程执行 运行 linux 命令。示例:我想在 k8 pod 内的 java 进程 运行ning 上抓取堆转储。 pod 带有最小安装,也没有那么多磁盘 space,所以我想从本地机器(指向 k8 集群)运行 jmap 命令。谢谢

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

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

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

Execute a command in a container.

Usage:

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

kubectl exec 命令是一种允许您通过在容器内执行命令来检查和调试应用程序的工具。

如果您需要有关如何使用它的更多详细信息和示例,我推荐这两个指南: