如何在一个吊舱中运行多个无状态容器?

我有几个小容器,内存占用很小,stream量很小。 我觉得这样做太过分了,太贵了,没有一个单独的吊舱。

我目前只通过将Docker镜像推送到OpenShift在线容器registry来部署容器。 一旦新图像到达,OpenShift就会重build并部署应用程序。 它工作正常,但我不能find一种方法,使OpenShift接受同一个应用程序/ pod的多个图像/容器。

有谁知道如何在一个应用程序/ pod中运行多个容器?

创build多个窗格时,我不知道你有什么样的缺点。 Pod与容器的开销可以忽略不计。

但是将多个应用程序放入一个单独的容器中显然有缺点:

  • 如果要重新启动一个容器,则需要重新启动所有容器
  • 您不能单独扩展容器,因此您不能有不同数量的服务(用于HA或负载分配)
  • 您必须通过端口识别服务,因为服务发现对每个Pod都有效
    • 即。 有多个HTTP服务,你可以将它们全部映射到端口80,并使用http://fooservicehttp://barservice代替http://uberpod:8001http://uberpod:8002

同样,有多个豆荚几乎没有开销。

我不知道OpenShift中的Kubernetes集成是如何工作的,但是对于简单的Kubernetes YAML文件,您可以将其他容器添加到容器列表中:

 apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: foo image: busybox command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600'] - name: bar image: mycontainer:latest