IPC versus namespace UTS

1

Estou aprendendo Kubernetes e parece que eles desempenham um papel crucial nas implementações de contêineres. Eles nos permitem isolar os recursos do sistema global entre os processos independentes. Ainda não entendo o quadro inteiro. Meus 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

O 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 com o IPC? Como eles se comunicam? Por que precisamos do IPC?

    
por MikiBelavista 08.06.2018 / 12:23

1 resposta

3

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 do 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 sockets de domínio TCP / IP nem Unix nem outros métodos de comunicação.

(TCP / IP é isolado usando namespaces net , embora normalmente os containers recebam deliberadamente uma interface virtual para acessar a rede principal. Os soquetes de domínio Unix são isolados usando mount namespaces, pois seguem as mesmas regras que os caminhos de arquivos.

Consulte a página de manual namespaces (7) para obter mais explicações.

    
por 08.06.2018 / 13:13