I am learning Kubernetes and it seems that they play crucial role in container implementations.They allow us isolation of global system resources between independent processes.Still I do not understand the whole picture.My pods

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

Kubernetes in Action says that

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

Does this imply that containers outside same pod can not communicat thgough IPC? How they communicate? Why do we need IPC?


UTS namespaces contain just two identifiers: the system hostname and the (rarely used) NIS domain name.

IPC namespaces contain a specific kind of IPC objects known as "POSIX IPC" and "SysV IPC" – shared memory areas, message queues, and semaphores. They don't include TCP/IP nor Unix domain sockets nor other communication methods.

(TCP/IP is isolated by using net namespaces, although usually containers are deliberately given a virtual interface through which to reach the main network. Unix domain sockets are isolated by using mount namespaces, as they follow the same rules as file paths.)

See the namespaces(7) manual page for a longer explanation.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.