k8s pause
2025-12-18查看 Kubernetes 的官方文档或源代码仓库,可以找到推荐的 pause 镜像版本。例如,你可以查看 Kubernetes GitHub 仓库中的 Dockerfile 或相关配置文件来获取最新或特定版本的 pause 镜像信息。
在 Kubernetes (k8s) 的上下文中,pause 容器通常指的是 pause 镜像,这是一个非常轻量级的容器,通常用作其他容器的父进程。它主要用于保持命名空间的存在,以便其他容器可以共享网络和存储资源。pause 容器通常由 Kubernetes 自动创建,而不是由用户直接创建。
截至我的知识更新时间点(2023年),Kubernetes 1.30 并没有直接提及对特定版本的 pause 镜像的支持,因为 Kubernetes 的版本更新通常不会直接指定对 pause 镜像版本的依赖。相反,Kubernetes 使用的是特定版本的 pause 镜像来确保兼容性和稳定性。
###################
在 Kubernetes 中,pause 容器(也称为基础设施容器)是每个 Pod 的核心组成部分,它负责为 Pod 中的所有其他容器提供共享的网络和存储资源。
pause 容器的主要作用包括:
共享命名空间:它创建并维护 Pod 的网络、IPC、UTS 和挂载命名空间,使 Pod 内的容器能够共享这些资源,例如通过 localhost 进行网络通信。
生命周期管理:作为 PID 1 进程(init 进程),它负责回收僵尸进程,并确保 Pod 的命名空间在容器启动前正确初始化。
资源抽象:pause 容器是 Pod 资源管理的基础,Kubernetes 通过它实现容器间的资源隔离与协作,例如在 sidecar 模式中共享文件卷。
pause 容器的实现细节:
它通常是一个轻量级镜像(如 k8s.gcr.io/pause),其源码基于简单的 C 程序(pause.c),仅运行一个无限循环以保持命名空间活跃。
在 Pod 创建时,kubelet 会先启动 pause 容器,然后启动其他应用容器,确保共享环境已就绪。
pause 容器的设计解决了多容器 Pod 的资源协调问题,是 Kubernetes 网络模型的关键组件。
###################
containerd config default > /etc/containerd/config.toml
sandbox_image="k8s.gcr.io/pause"
替换为
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.10"