kubernetes:在同一 Pod 中的另一个容器中调用命令

Jef*_*eff 10 kubernetes

有没有一种方法可以让一个容器调用另一个容器中的命令?这些容器位于同一个 Pod 中。

\n\n

我需要许多命令行工具,它们以映像和包的形式提供。但由于一些担忧,我不想\xe2\x80\x99 将它们全部安装到一个容器中。

\n

mr *_*ven 6

只要您有 k8s v1.17+,这是很有可能的。您必须启用shareProcessNamespace: true,然后所有容器进程都可供同一 Pod 中的其他容器使用。

这是文档,看看吧。


Dav*_*aze 3

一般来说,不,你不能在 Kubernetes(或普通的 Docker)中执行此操作。您应该将两个互连的事物移动到同一个容器中,或者将某种网络服务包装在您尝试调用的事物周围(然后可能将其放在一个单独的 Pod 中,前面有一个单独的服务)。

如果您设置一个服务帐户,安装一个 Kubernetes API sidecar 容器,并使用 Kubernetes API 执行相当于 的操作,那么您可能kubectl exec可以做一些事情,但我认为这是最后的解决方案。