Kubernetes中所有可能的状态/原因列表
我如何知道Kubernetes中所有可能状态和原因的列表 现在,我正在处理库伯内特斯事件。基于某些不寻常的事件,我将对此作出反应。例如,如果pod被撤销或挂起,将接收此类事件并通过电子邮件(自定义代码)获得通知。将为每一个此类事件采取进一步的必要行动 我必须知道pod和节点的所有可能状态列表。这将帮助我处理代码中的异常行为。如果可能的话,最好也知道可能事件的原因清单 我正在使用Fabric8 kubernetes客户端,因为我发现Java kubernetes客户端在处理事件方面存在一些问题 我通过谷歌搜索的方式,没有得到一些结果。A的一个阶段是对Pod所在位置的简单、高层次的总结 该阶段不打算全面汇总容器或吊舱状态的观察结果, 它也不是一个全面的状态机 以下是阶段的可能值:Kubernetes中所有可能的状态/原因列表,kubernetes,Kubernetes,我如何知道Kubernetes中所有可能状态和原因的列表 现在,我正在处理库伯内特斯事件。基于某些不寻常的事件,我将对此作出反应。例如,如果pod被撤销或挂起,将接收此类事件并通过电子邮件(自定义代码)获得通知。将为每一个此类事件采取进一步的必要行动 我必须知道pod和节点的所有可能状态列表。这将帮助我处理代码中的异常行为。如果可能的话,最好也知道可能事件的原因清单 我正在使用Fabric8 kubernetes客户端,因为我发现Java kubernetes客户端在处理事件方面存在一些问题 我
Pending
Kubernetes系统已接受Pod,但尚未创建一个或多个容器映像。这包括计划之前的时间以及通过网络下载图像所花费的时间,这可能需要一段时间
Running
Pod已绑定到一个节点,并且所有容器都已创建。至少有一个容器仍在运行,或者正在启动或重新启动
成功
Pod中的所有容器都已成功终止,并且不会重新启动
失败
Pod中的所有容器都已终止,并且至少有一个容器已在故障中终止。也就是说,容器要么以非零状态退出,要么被系统终止
未知
由于某些原因,无法获取Pod的状态,通常是由于与Pod主机通信时出错
如果您对具有Pod条件的详细阵列感兴趣,我建议您查看Kubernetes文档并查看剩余信息。如果您需要Kubernetes中
事件的完整列表,您应该直接查看github上的Kubernetes
项目
指向事件.go
文件的链接。我已经能够记录一些额外内容:
终止
pod正试图终止;如果pod处于这种状态,则发生了阻止进程成功的事情(这可能是一个僵尸进程,有时可能是装载的卷出现问题)
ContainerCreating
此pod所需的容器配置有问题;可能是未键入的容器名称或某些网络配置问题
错误
是一种包罗万象的错误;可能不是特别有用。如果您经常看到这一点,那么最好查看一下k8s文档,该文档对状态、阶段、原因、条件等有着令人困惑的含义。事实上,Pod并没有kubectl get pods
在状态列中返回的状态。要确认这一点,您需要查看PodStatus
,PodCondition
,ContainerState
对象,您将看到报告为Pod状态的信息取决于当前的ContainerState为什么该文件没有像OOMKilled这样的状态?我认为这是因为它不是状态。这是失败状态的一个原因。