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

Can we have same kind of multiple containers in a Pod in Kubernetes?

例如,我可以使用以下 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

嗯,这正是 pod 的含义:多个容器共享一些命名空间和卷。

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

容器对象必须包含:

  1. 名称: 容器名称。它必须是 DNS_LABEL 并且在广告连播中是 unique。无法更新。
  2. 图片: 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 中的唯一端口号

可以有相同类型的容器,但它们的端口会不同。