什么是--pp-infra-container-image意味着什么?

Sas*_*asa 8 kubernetes

kubernetes中pod-infra-container-image的目的是什么?

官方文件只说:

每个pod中的network/ipc命名空间容器将使用的映像.(默认"gcr.io/google_containers/pause-amd64:3.0")

但是我并不完全明白它的作用以及它的工作原理.

vas*_*cop 8

使用暂停容器(--pod-infra-container标志选择的图像),以便在共享资源的同时可以在容器中启动多个容器.它几乎什么都不做,除非你有充分的理由用自定义的东西替换它,否则你不应该这样做.它主要调用pause系统调用(因此它的名称),但它也执行具有PID 1的重要功能,并确保不保留僵尸进程.

关于这个主题的一篇非常完整的文章可以在这里找到,从那里我也无耻地偷走了下面的图片,它说明了暂停容器所在的位置:

在此输入图像描述


Jan*_*art 6

暂停容器是从https://github.com/kubernetes/kubernetes/tree/master/build/pause构建的。该过程本身不执行任何操作,因此您可以将其替换为您选择的另一个同样不执行任何操作的容器(--pod-infra-container-image参数为kubelet)。

这个容器作为每个 pod 的一部分启动。Kubernetes 正在使用这个众所周知的、永不落下的容器来为 pod 设置网络命名空间,并确保命名空间永远不会为空(pod 中的所有其他容器可能会失败)。但同样,容器进程本身什么也不做,它只是一个占位符。