Namespace IPC versus UTS

Namespace IPC versus UTS

Estou aprendendo Kubernetes e parece que eles desempenham um papel crucial nas implementações de contêineres. Eles nos permitem o isolamento de recursos globais do sistema entre processos independentes.

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 em ação diz que

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

Isso implica que os contêineres fora do mesmo pod não podem se comunicar através do IPC? Como eles se comunicam? Por que precisamos do IPC?

Responder1

Os namespaces UTS contêm apenas dois identificadores: o nome do host do sistema e o nome de domínio NIS (raramente usado).

Os namespaces IPC contêm um tipo específico de objetos IPC conhecidos como "POSIX IPC" e "SysV IPC" – áreas de memória compartilhada, filas de mensagens e semáforos. Eles não incluem TCP/IP nem soquetes de domínio Unix nem outros métodos de comunicação.

(TCP/IP é isolado usandolíquidonamespaces, embora geralmente os contêineres recebam deliberadamente uma interface virtual através da qual podem acessar a rede principal. Os soquetes de domínio Unix são isolados usandomontarnamespaces, pois seguem as mesmas regras dos caminhos de arquivo.)

Veja oespaços para nome (7)página de manual para uma explicação mais longa.

informação relacionada