【发布时间】:2017-10-08 11:05:15
【问题描述】:
kubernetes 中 pod-infra-container-image 的用途是什么?
官方文档只说:
每个 pod 中的 network/ipc 命名空间容器将使用的镜像。 (默认“gcr.io/google_containers/pause-amd64:3.0”)
但我不完全了解它的作用以及它的详细工作原理。
【问题讨论】:
标签: kubernetes
kubernetes 中 pod-infra-container-image 的用途是什么?
官方文档只说:
每个 pod 中的 network/ipc 命名空间容器将使用的镜像。 (默认“gcr.io/google_containers/pause-amd64:3.0”)
但我不完全了解它的作用以及它的详细工作原理。
【问题讨论】:
标签: kubernetes
使用--pod-infra-container 标志选择映像的暂停容器,以便可以在一个 pod 中启动多个容器,同时共享资源。它通常什么都不做,除非你有很好的理由用自定义的东西替换它,否则你不应该这样做。它主要调用pause 系统调用(因此得名),但它也执行具有 PID 1 并确保没有僵尸进程存在的重要功能。
一篇关于can be found here主题的非常完整的文章,我还无耻地从那里偷走了下面这张说明暂停容器所在位置的图片:
【讨论】:
暂停容器是从 https://github.com/kubernetes/kubernetes/tree/master/build/pause 构建的。该过程本身什么也不做,因此您可以将其替换为您选择的另一个同样不做任何事情的容器(使用kubelet 的--pod-infra-container-image 参数)。
此容器作为每个 pod 的一部分启动。 Kubernetes 正在使用这个众所周知的永不掉落的容器来为 pod 设置网络命名空间,并确保命名空间永远不会为空(pod 中的所有其他容器都可能失败)。但同样,容器进程本身什么也不做,它只是一个占位符。
【讨论】: