<p>Kubernetes documentation describes pod as a <code>wrapper</code> around one or more containers. containers running <code>inside</code> of a pod share a set of namespaces (e.g. network) which makes me think <code>namespaces</code> are nested (I kind doubt that). What is the <code>wrapper</code> here from container runtime's perspective?</p>
<p>Since containers are just processes constrained by <code>namespaces, Cgroups</code> e.g. Perhaps, pod is just the first <code>container</code> launched by Kubelet and the rest of containers are started and grouped by namespaces.</p>

<p>The main difference is networking, the network namespace is shared by all containers in the same Pod. Optionally, the process (pid) namespace can also be shared. That means containers in the same Pod all see the same <code>localhost</code> network (which is otherwise hidden from everything else, like normal for localhost) and optionally can send signals to processes in other containers.</p>
<p>The idea is the Pods are groups of related containers, not really a wrapper per se but a set of containers that should always deploy together for whatever reason. Usually that's a primary container and then some sidecars providing support services (mesh routing, log collection, etc).</p>
