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.