代码之家  ›  专栏  ›  技术社区  ›  Santosh Kumar Arjunan

Kubernetes中所有可能的状态/原因列表

  •  3
  • Santosh Kumar Arjunan  · 技术社区  · 6 年前

    我怎么知道库伯内特斯所有可能的状态和原因?

    现在,我正在处理库伯内特斯事件。基于某些不寻常的事件,我会做出反应。例如,如果一个pod被退回或挂起,将接收此类事件并通过电子邮件(自定义代码)得到通知。对于每一个此类事件,将采取进一步的必要行动。

    我必须知道吊舱和节点的所有可能状态列表。这将有助于我处理代码中不寻常的行为。如果可能的话,最好也知道可能事件的原因列表。

    我正在使用fabric8 kubernetes客户机,因为我发现javakubernetes客户机在处理事件时存在一些问题。

    我在谷歌上搜索的方式,无法得到一些结果。

    2 回复  |  直到 6 年前
        1
  •  4
  •   Nicola Ben    6 年前

    如果你需要一个完整的 events 在库伯内特斯,你应该直接看看 Kubernetes Github上的项目。

    Here 链接到 event.go 文件。

        2
  •  3
  •   d0bry    6 年前

    A相 Pod 是一个简单的,高层次的总结 lifecycle .

    该阶段不是对容器或吊舱状态观测的综合汇总, 它也不打算成为一个全面的状态机。

    以下是相位的可能值:

    Pending 该吊舱已被kubernetes系统接受,但一个或多个集装箱图像尚未创建。这包括预定之前的时间以及通过网络下载图像所花费的时间,这可能需要一段时间。

    Running pod已绑定到一个节点,并且所有容器都已创建。至少有一个容器仍在运行,或者正在启动或重新启动。

    Succeeded POD中的所有容器都已成功终止,并且不会重新启动。

    Failed 吊舱中的所有容器都已终止,并且至少有一个容器因故障而终止。也就是说,容器要么退出非零状态,要么被系统终止。

    Unknown 由于某种原因,无法获得吊舱的状态,通常是由于与吊舱主机通信时出错。

    如果你对吊舱条件下的详细阵列感兴趣,我建议你看看 Pod Lifecycle 从kubernetes文档和检查 source code 其他信息。

        3
  •  1
  •   Robin Macklepenny    5 年前

    我已经记录了一些额外的东西:

    Terminating pod正在尝试终止;如果pod卡在这种状态,则发生了阻止进程成功的事情(这可能是一个僵尸进程,有时是已装入卷的问题)。

    ContainerCreating 此pod所需容器的配置有问题;可能是缺少键入的容器名称或某些网络配置问题

    Error 有点一应俱全;可能不是特别有用。如果你经常看到这个,最好去看看 this doc