admin管理员组

文章数量:1627750

Exploring what a running pod is

]# docker ps | grep pause
9220b8d70a54        k8s.gcr.io/pause:3.1                                                                                  "/pause"                 17 minutes ago      Up 17 minutes                           k8s_POD_kubia-z92dc_default_cb20846a-706e-11e9-ba83-001e67d8acca_0
2c5420ea4edf        k8s.gcr.io/pause:3.1                                                                                  "/pause"                 17 minutes ago      Up 17 minutes                           k8s_POD_kubia-mf8dj_default_cb1f8b78-706e-11e9-ba83-001e67d8acca_0

This pause container is actually the container that holds all the containers of a pod together.

The pause container is actually an infrastructure container whose sole(唯一) purpose is to hold all these namespaces. All other user-defined containers of the pod then use the namespaces of the pod infrastructure container.


Figure: A two-container pod results in three running containers sharing the same Linux namespaces

Actual application containers may die and get restarted. When such a container starts up again, it needs to become part of the same namespaces as before. The infrastructure container makes this possible since its lifecycle is tied to that of the pod - the container runs from the time the pod is scheduled until the pod is deleted. If the infrastructure pod is killed in the meantime(在此期间), the Kubelet recreates it and all the pod’s containers.

本文标签: ampPodcontainerInfrastructure