【发布时间】:2020-12-04 10:02:53
【问题描述】:
我知道在 Kubernetes 中可以同时执行多个命令。我见过Multiple commands in kubernetes。但是我想知道的是同时执行多个命令。
command: ["/bin/sh","-c"]
args: ["command one; command two"]
这里命令一和命令二都是并行执行的。
command one 启动一个服务器实例,同样command two 启动另一个服务器。
在我的 docker 环境中,我指定了一个命令,然后我 exec int docker 并启动另一个命令。但是在 k8s 部署中这是不可能的。在这种情况下我该怎么办?
我将使用 helm 图表,所以如果有任何与 helm 图表相关的技巧。我也可以用。
【问题讨论】:
-
不,这行不通。可以进行 2 次不同的部署,每个部署 1 个服务或使用
supervisordthat runs the 2 services 构建您的映像。 -
您应该运行两个单独的部署(就像在普通 Docker 中,您应该运行两个单独的容器)。它们可以有相同的
image:,但不同的command:、containerPorts:、等 -
我相信您也可以在一个 Pod(或 Deployment/StatefulSet)中拥有两个或多个容器。他们将共享网络层,也可以共享临时存储进行合作。您可以为 Pod 中的每个容器配置单独的 liveness 和 readiness 探针。
标签: docker kubernetes kubernetes-helm