Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What work does the process in container "gcr.io/google_containers/pause:0.8.0" do?

I have known clearly about the usage of the docker option --net=container:NAME_or_ID, I also have read the source code of kubernetes about how to configure the container to use the network of InfraContainer, so I think the only work the process in container gcr.io/google_containers/pause:0.8.0 does is "pause", it will never do any complex work like "receiving", "sending" or "routing".

But I am not sure about it because I can not find the Dockerfile of gcr.io/google_containers/pause:0.8.0, so I need someone know clearly about it to tell me the truth, thanks!

like image 604
Sun Gengze Avatar asked Nov 02 '15 07:11

Sun Gengze


People also ask

What is the use of pause container in Kubernetes?

Every Kubernetes Pod includes an empty pause container, which bootstraps the Pod to establish all of the cgroups, reservations, and namespaces before its individual containers are created. The pause container image is always present, so the pod resource allocation happens instantaneously as containers are created.

What is Docker container pause?

The docker pause command suspends all processes in the specified containers. On Linux, this uses the freezer cgroup. Traditionally, when suspending a process the SIGSTOP signal is used, which is observable by the process being suspended.

What is pause image in Kubernetes?

The pause container is a container which holds the network namespace for the pod. Kubernetes creates pause containers to acquire the respective pod's IP address and set up the network namespace for all other containers that join that pod.


1 Answers

In Kubernetes, each pod has an IP and within a pod there exists a so called infrastructure container, which is the first container that the Kubelet instantiates and it acquires the pod’s IP and sets up the network namespace. All the other containers in the pod then join the infra container’s network and IPC namespace. The infra container has network bridge mode enabled and all the other containers in the pod share its namespace via container mode. The initial process that runs in the infra container does effectively nothing since its sole purpose is to act as the home for the namespaces.

like image 200
Michael Hausenblas Avatar answered Sep 30 '22 22:09

Michael Hausenblas