liveBook · Manning

Inter-process communication namespace

As explained in Kubernetes in Action, Second Edition

An IPC namespace is a Linux isolation scope that separates a process's inter-process communication resources from those of processes outside the namespace.

An IPC namespace isolates inter-process communication resources so processes see and use resources in their own namespace rather than those belonging to processes outside it. These resources include message queues and shared memory. section 2.3.1

A process belongs to one namespace of each resource type, so IPC isolation works alongside separate mount, process ID, network, UTS, user, time, and cgroup namespaces. Namespaces can also be shared selectively. section 2.3.1

IPC inside a pod

Containers in the same Kubernetes pod share an IPC namespace, allowing their processes to communicate through usual IPC mechanisms. They can also share the network and UTS namespaces, while their mount namespaces remain separate. section 5.1.1

How Kubernetes in Action, Second Edition covers it

How deep it goes
Defines IPC resource isolation and places it among namespace types, but stops short of implementation commands or kernel internals.
Examples
Uses shared IPC between containers in one pod and contrasts it with separate mount namespaces and optionally shared PID namespaces.
What it assumes
Introduces namespace isolation and IPC resource types while assuming only basic familiarity with processes and containers.
What you can do after
Evaluate which container processes can communicate through IPC resources based on their namespace and pod membership.
How it connects
Connects IPC namespaces with Linux namespaces, containers, pods, shared memory, message queues, and PID namespaces.

Also explained in

Compare how 2 books explain inter-process communication namespace →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes in Action, Second Edition. The section links point to the parts of the book it draws on.