我在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_*
这两个实体的容器?
答案 0 :(得分:3)
我想您的pod包含一个容器,这就是为什么您要问这个问题(确实是个好问题!)。
因此,其中一个容器是您实际部署的容器,而第二个容器是Kubernetes基础结构容器,称为pause container
。
此pause container
是容纳容器中所有容器的容器
一起。 Pod的所有容器共享相同的网络,而其他
Linux名称空间。暂停容器是唯一的基础结构容器
目的是保留所有这些名称空间。然后,所有其他用户定义的容器容器都将使用容器基础结构容器的名称空间。
在此处查看更多详细信息: https://www.ianlewis.org/en/almighty-pause-container
答案 1 :(得分:2)
没有足够的信息可以给您具体的答案,但我会尝试推测。
在Kubernetes工作时,它需要一个基础容器pause
来创建网络名称空间,以获取网络接口和IP地址。然后,它将其他容器添加到该网络名称空间。
这就是您可能会看到的。