IPC vs. UTS-Namespace

453
MikiBelavista

Ich lerne Kubernetes, und es scheint, dass sie eine entscheidende Rolle bei der Containerimplementierung spielen. Sie ermöglichen uns die Isolierung globaler Systemressourcen zwischen unabhängigen Prozessen. Bis heute verstehe ich nicht das ganze Bild. Meine 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 in Action sagt das

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

Bedeutet dies, dass Container außerhalb derselben Kapsel nicht mit dem IPC kommunizieren können? Wie kommunizieren sie? Warum brauchen wir IPC?

1

1 Antwort auf die Frage

3
grawity

UTS-Namespaces enthalten nur zwei Bezeichner: den Systemhostnamen und den (selten verwendeten) NIS-Domänennamen.

IPC-Namespaces enthalten eine bestimmte Art von IPC-Objekten, die als "POSIX IPC" und "SysV IPC" bezeichnet werden - gemeinsam genutzte Speicherbereiche, Nachrichtenwarteschlangen und Semaphore. Sie enthalten weder TCP / IP noch Unix-Domain-Sockets oder andere Kommunikationsmethoden.

(TCP / IP wird mithilfe von Netz- Namespaces isoliert, obwohl Container in der Regel absichtlich über eine virtuelle Schnittstelle verfügen, über die sie das Hauptnetzwerk erreichen können. Unix-Domänensockets werden mithilfe von Mount- Namespaces isoliert, da sie den gleichen Regeln wie Dateipfade folgen.)

Siehe die Namensräume (7) Handbuchseite für eine längere Erklärung.