kubernetes - 我们可以在 Kubernetes 的一个 Pod 中拥有相同类型的多个容器吗?

标签 kubernetes kubernetes-container kubernetes-pod

例如,我可以使用以下 yaml 来生成具有多个容器的 pod:

apiVersion: v1
kind: Pod
metadata:
name: lampapp
labels:
    app: app
spec:
  containers:
  - name: lampdb
    image: mysql_test
  - name: app
    image: php-app-db-url-env
    env:
     - name: DB_URL
      value: 127.0.0.1:3306
  - name: app2
    image: php-app-db-url-env
    env:
    - name: DB_URL
      value: 127.0.0.1:3306

最佳答案

是的,您可以添加具有相同图像的多个容器。

容器对象必须包含:

  • 名称:容器的名称。它必须是 DNS_LABEL 并且是 unique pods 内。无法更新。
  • 图片: Docker 镜像名称。

  • 您必须使容器名称唯一

    您可以执行以下操作:
    - name: app
      image: php-app-db-url-env   ---
    - name: app2                    |> same image
      image: php-app-db-url-env   ---
    

    但不是这个:
    - name: app
      image: php-app-db-url-env
    - name: app
      image: <any image>
    

    此外,容器规范应该在 Pod 中包含一个唯一的端口号

    关于kubernetes - 我们可以在 Kubernetes 的一个 Pod 中拥有相同类型的多个容器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33301140/

    相关文章:

    kubernetes - 我们可以在 Pod 中为多个容器使用单个卷挂载吗?

    kubernetes - 在 v1.12 中增加 k8s 容器的启动阈值

    docker - 具有多个容器的 Pod 上具有多个公开端口的单个服务

    kubernetes - 服务器选择在 30000 毫秒后超时 {"name":"MongooseTimeoutError","reason": {"name" :"MongoNetworkError"}}

    Kubernetes/Kubectl打印所有 secret

    kubernetes - 如何使用带有标志--selector的kubectl命令?

    azure - 版本 "2019-12-01"中的 Microsoft.ContainerInstance/containerGroups 类型没有匹配项

    kubernetes - Helm 安装失败,出现 "Client is not authorized"

    docker - 在运行时在Pod中创建其他容器的正确方法是什么?