Qué trabajo hace el proceso en contenedor "gcr.io/google contenedores / pausa: 0.8.0" hacer?


He sabido claramente sobre el uso de la opción docker --net=container:NAME_or_ID, también he leído el código fuente de kubernetes sobre cómo configurar el contenedor para usar la red de InfraContainer, por lo que creo que el único trabajo que hace el proceso en container gcr.io/google_containers/pause:0.8.0 es "pause", nunca hará ningún trabajo complejo como "receiving", "sending" o "routing".

Pero no estoy seguro de ello porque no puedo encontrar el Dockerfile de gcr.io/google_containers/pause:0.8.0, así que necesito que alguien lo sepa claramente para decirme la verdad, ¡gracias!

Author: Sun Gengze, 2015-11-02

3 answers

El Dockerfile es aquí: simplemente agrega el binario de pausa a un contenedor vacío.

El código de pausa es aquí: solo espera hasta que reciba SIGINT o SIGTERM.

 18
Author: cristi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-28 06:37:27

En Kubernetes, cada pod tiene una IP y dentro de un pod existe el llamado contenedor de infraestructura, que es el primer contenedor que el Kubelet instanciaacompra la IP del pod y configura el espacio de nombres de red. Todos los demás contenedores del pod se unen a la red del contenedor infra y al espacio de nombres IPC. El contenedor infra tiene habilitado el modo puente de red y todos los demás contenedores del pod comparten su espacio de nombres a través del modo contenedor. El proceso inicial que se ejecuta en el infra container no hace efectivamente nada ya que su único propósito es actuar como el hogar de los espacios de nombres.

 43
Author: Michael Hausenblas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-02 12:17:05

Citando de ¿Cuál es el papel del contenedor 'pausa'?:

El contenedor pause es un contenedor que contiene el espacio de nombres de red para la cápsula. No hace nada "útil". (En realidad es solo un poco un poco de montaje que se va a dormir y nunca se despierta)

Esto significa que su contenedor 'apache' puede morir, y volver a la vida, y toda la configuración de la red todavía estará allí. Normalmente si el último proceso en un espacio de nombres de red muere el espacio de nombres sería destruido y la creación de un nuevo contenedor apache requeriría la creación nueva configuración de red. Con pause, siempre tendrás ese último cosa en el espacio de nombres.

 29
Author: mmoya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-21 22:37:20