为什么“ ctop命令”在k8s中显示单个部署的两个容器?

时间:2020-05-11 11:15:23

标签: kubernetes

我在k8s环境中进行了部署,并运行ctop命令来查看内存和CPU利用率。

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 为什么有k8s_POD_*k8s_*这两个实体的容器?

2 个答案:

答案 0 :(得分:3)

我想您的pod包含一个容器,这就是为什么您要问这个问题(确实是个好问题!)。

因此,其中一个容器是您实际部署的容器,而第二个容器是Kubernetes基础结构容器,称为pause container

pause container是容纳容器中所有容器的容器 一起。 Pod的所有容器共享相同的网络,而其他 Linux名称空间。暂停容器是唯一的基础结构容器 目的是保留所有这些名称空间。然后,所有其他用户定义的容器容器都将使用容器基础结构容器的名称空间。

在此处查看更多详细信息: https://www.ianlewis.org/en/almighty-pause-container

答案 1 :(得分:2)

没有足够的信息可以给您具体的答案,但我会尝试推测。

在Kubernetes工作时,它需要一个基础容器pause来创建网络名称空间,以获取网络接口和IP地址。然后,它将其他容器添加到该网络名称空间。

这就是您可能会看到的。