ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 初始化容器(init container) 初始化容器用到的字段为`initContainers`。 初始化容器的意思是: 在K8S中,一个 Pod 可能包含多个容器,这些容器可以分为`主容器`和`次容器`,在启动`主容器`之前,先创建另一个用于检查`主容器`是否满足运行环境条件`次容器`,检查完成后,该`次容器`退出,进行下一步。 举个例子: 要启动主容器中web服务之前,需要先启动一个次容器检测数据库服务是否能正常访问,所以这里的初始化容器就数据库容器。 ~~~ apiVersion: v1 kind: Pod metadata: name: init-pod labels: app: init spec: containers: - name: init-container image: busybox command: ["sh","-c","echo init-container running && sleep 3600"] initContainers: - name: init-1 image: busybox command: ["sh","-c","echo this is init-1"] - name: init-2 image: busybox command: ["sh","-c","echo this is init-2"] ~~~ 运行状态可以看到有两个init ![](https://img.kancloud.cn/9e/1a/9e1af4de9944633f48c63ee14895d921_327x51.png) 查看pod详细信息 ![](https://img.kancloud.cn/d8/fe/d8feb66409e946bf5f0e377be4956645_1174x164.png) ![](https://img.kancloud.cn/73/d9/73d968bc750715ee911455eb4942ef7b_599x764.png) 可以看到 Pod 正在拉取镜像,所以这个 Pod 会一直停留在init阶段 等待一会儿继续 ![](https://img.kancloud.cn/b5/9b/b59ba3eaa4046fc7630554eca8222956_825x336.png) 可以看到这个 Pod 已经按照初始化容器的步骤进行启动