Espacio de nombres IPC versus UTS

Espacio de nombres IPC versus UTS

Estoy aprendiendo Kubernetes y parece que desempeñan un papel crucial en las implementaciones de contenedores. Nos permiten aislar los recursos del sistema global entre procesos independientes. Todavía no entiendo el panorama completo. Mis pods

kubectl get pods -o wide
NAME          READY     STATUS    RESTARTS   AGE       IP          NODE
kubia-bzp4j   1/1       Running   0          17h       10.44.1.5   gke-kubia-default-pool-98519add-5kfr
kubia-hzd8b   1/1       Running   0          1h        10.44.0.7   gke-kubia-default-pool-98519add-hsrc
kubia-kgbtb   1/1       Running   0          1h        10.44.2.5   gke-kubia-default-pool-98519add-25c1

Kubernetes en acción dice que

all containers of a pod run under the same IPC namespace
and can communicate through IPC

¿Implica esto que los contenedores fuera del mismo módulo no pueden comunicarse a través de IPC? ¿Cómo se comunican? ¿Por qué necesitamos IPC?

Respuesta1

Los espacios de nombres UTS contienen solo dos identificadores: el nombre de host del sistema y el nombre de dominio NIS (rara vez utilizado).

Los espacios de nombres IPC contienen un tipo específico de objetos IPC conocidos como "POSIX IPC" y "SysV IPC": áreas de memoria compartida, colas de mensajes y semáforos. No incluyen TCP/IP ni sockets de dominio Unix ni otros métodos de comunicación.

(TCP/IP se aísla usandonetoespacios de nombres, aunque normalmente los contenedores reciben deliberadamente una interfaz virtual a través de la cual llegar a la red principal. Los sockets de dominio Unix se aíslan mediante el usomontarespacios de nombres, ya que siguen las mismas reglas que las rutas de archivo).

Ver elespacios de nombres(7)página del manual para obtener una explicación más detallada.

información relacionada