首页 > 解决方案 > 与 pod 状态等效的 Kubernetes pod 阶段是什么?

问题描述

我需要知道STATUSakubernetes pod所能拥有的所有可能。

我的问题:-我通过使用kubectl get pods命令找到了这些状态

但是,当我打开它在其状态中yaml显示的 pod 的文件时,定义成功。这是它的Completedyamlphase

所以这意味着,它yaml有另一个值,当我使用kubectl get pods它时,它会给出另一个值。

这些是pod phasesinyaml定义:

我想知道当我执行时我会得到什么作为与上述命令的等价物kubectl get pods(例如:我得到Completedfor Succeeded)?

标签: kubernetes

解决方案


Kubernetes 为 pod 设置了一个状态(所以状态是 Primary),状态本身可以有 Phase。因此,例如Status Completed可以分配给 PhaseSucceeded和 Phase Failed,而Status Running 不能分配给这个阶段。

但总的来说,它几乎是相同的 Running is Running,Pending 是 Pending。据我所知,阶段Unknown意味着节点无法访问,并且无法报告 pod 状态。

正如官方文档所述:

Pod 的状态字段是一个 PodStatus 对象,它有一个阶段字段。

Pod 的阶段是对 Pod 在其生命周期中所处位置的简单、高级摘要。该阶段不是对容器或 Pod 状态观察的全面汇总,也不是一个全面的状态机。

Pod 阶段值的数量和含义受到严格保护。除了此处记录的内容外,不应假设 Pod 具有给定的相位值。

https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/


推荐阅读