我们可以在已经运行的 Kubernetes pod 中运行可执行 jar 文件吗?

Ani*_*esh 2 java jar executable-jar kubernetes kubernetes-pod

我需要执行为我的应用程序编写的诊断程序。该应用程序正在 Kubernetes Pod 中运行/部署。我想在 Kubernetes pod 中复制诊断可执行 jar 文件并在不停止 pod 的情况下执行它。如何才能实现这一目标?是否有特定的方法来使用 Kubernetes pod 环境运行可执行 jar?

Kri*_*sia 5

你可以尝试一下kubectl cp命令:

来自文档

将 /tmp/foo_dir 本地目录复制到默认命名空间中远程 pod 中的 /tmp/bar_dir

kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
Run Code Online (Sandbox Code Playgroud)

将 /tmp/foo 本地文件复制到特定容器中远程 pod 中的 /tmp/bar

kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
Run Code Online (Sandbox Code Playgroud)

将 /tmp/foo 本地文件复制到命名空间中远程 pod 中的 /tmp/bar

kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar
Run Code Online (Sandbox Code Playgroud)

将 /tmp/foo 从远程 pod 复制到本地 /tmp/bar

kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar
Run Code Online (Sandbox Code Playgroud)

将可执行文件添加到容器内后,您可以exec进入 pod 并手动执行该文件。