Pod 一共有 5 种状态,这个状态反映在 Pod 的 status 属性中
- Pending:这个状态意味着,Pod 的 YAML 文件已经提交给了 Kubernetes,API 对象已经被创建并保存在 Etcd 当中。但是这个 Pod 还没有被调度成功,最常见的原因比如 Pod 中某个容器启动不成功
- Running:这个状态下,Pod 已经调度成功。也就是它包含的容器都已经创建成功,并且至少有一个正在运行中
- Succeeded:这个状态意味着,Pod 里的所有容器都正常运行成功并退出了。这种情况在运行一次性任务时最为常见
- Failed:这个状态下,Pod 里至少有一个容器以不正常的状态退出。这个状态出现时,你得想办法 Debug 这个容器,比如查看 Pod 的事件和日志。
- Unknown:这是一个异常状态,意味着 Pod 的状态不能集群检测到,这很有可能是主从节点(Master 和 Kubelet)间的通信出现了问题。