kubernetes中infra容器的理解

时间:2023-09-19 21:29:20

1. infra容器和用户容器的关系

kubernetes中infra容器的理解

1.1 pause 是k8s的基础设施的一部分,pod中其他容器通过pause容器跟其他pod进行通信。

1.2 pod中其他容器跟pause容器共享命名空间
1.3 她是pod中第一个被启动的容器

1.4 pod中的容器可以声明共享一个volume

2. 利用infra容器特性(共享一个volume)的案例

2.1 init 容器加 web 容器

template:
   metadata:
      labels:
          app: xxxwordpress
          tier: xxxfrontend
spec:
    initContainers:
    - image: debian
      name: co-container
      env:
      - name: DBSVC_KEY
        valueFrom:
            configMapKeyRef:
            name: my-config01
          key: dbsvc
    - name: ONECLOUDURL_KEY
         valueFrom:
    configMapKeyRef:
         name: my-config01
        key: twocloudurl_key
       volumeMounts:
  - name: my-tmp-file
    mountPath: /pod-data
    command: ["/bin/sh"]
    args: ["-c","/pod-data/changedata.sh"]
   containers:
 - image: harbor.twopower.com/pub/guanwang:1226
      name: xxxwordpress
  ports:
       - containerPort: 80
       name: xxxwordpress
       volumeMounts:
    - name: my-tmp-file
      mountPath: /var/www/app
    volumes:
  - name: my-tmp-file
    hostPath:
    path: /etc/html