<p>I have a deployment in k8s environment and ran <code>ctop</code> command to see memory and cpu utilization. </p>

<p><code>NAME             CID                CPU    MEM          NET RX/TX  IO R/W       PIDS
   ◉  k8s_POD_pod1-… c029e2492e7b   0%     1M / 23.54G   0B / 0B    0B / 0B     1
   ◉  k8s_pod1_…     411fc43165fe   6%     23M / 23.54G  0B / 0B    0B / 0B     115
</code>
why there are <code>k8s_POD_*</code> and <code>k8s_*</code>, two containers for single entity?</p>

Yasir
<p>I guess your pod contains a single container, that is why you are asking this question (which is indeed a good question!).</p>

<p>So, one of these containers is the one you actually deployed, but the second one is a Kubernetes infrastructure container, known as a <code>pause container</code>.</p>

<p>This <code>pause container</code> is the container that holds all the containers of a pod
together. All containers of a pod share the same network and other
Linux namespaces. The pause container is an infrastructure container whose sole
purpose is to hold all these namespaces. All other user-defined containers of the pod then use the namespaces of the pod infrastructure container.</p>

<p>See more details here:
<a href="https://www.ianlewis.org/en/almighty-pause-container" rel="nofollow noreferrer">https://www.ianlewis.org/en/almighty-pause-container</a></p>
