4.5.1 Pod 的相位
无论是类似前面几节中的由用户手动创建,还是通过 Deployment 等控制器创建,Pod 对象总是应该处于其生命进程中以下几个相位(phase)之一。
- Pending:API Server 创建了Pod资源对象并存入 etcd 中,但它尚未被调度完成,或者仍处于从仓库下载镜像的过程中。
- Running:Pod 已经被调度至某节点,并且所有容器都已经被 kubelet 创建完成。
- Succeeded:Pod 中的所有容器都已经成功终止并且不会被重启。
- Failed:所有容器都已经终止,但至少有一个容器终止失败,即容器返回了非0值的退出状态或已经被系统终止。
- Unknown:API Server 无法正常获取到 Pod 对象的状态信息,通常是由于其无法与所在工作节点的 kubelet 通讯所致。
Pod 的相位是在其生命周期中的宏观描述,并非对容器或 Pod 对象的综合汇总,而且相位的数量和含义被严格界定,它仅包含上面列举的相位值。