美文网首页
Pod 的生命周期

Pod 的生命周期

作者: quanCN | 来源:发表于2021-10-13 16:57 被阅读0次

Pod状态

  • Kubernetes pod 的阶段


  • Pod状态表
状态值 描述
Pending 创建 Pod 对象后,在 pod 被调度到一个节点并且它的容器的镜像被拉取和启动之前,它一直处于这个阶段。
Running Pod内所有容器均已创建,且至少有一个容器处于运行状态,正在启动状态或正在重启状态
Succeeded Pod内所有容器均成功执行后退出,且不会再重启
Failed Pod内所有容器均以退出,但至少有一个容器为退出失败状态
Unknown 由于某种原因无法获取该Pod的状态,可能由于网络通信不畅导致
  • 显示pod的状态
    $ kubectl get pod <pod-name> -o yaml | grep phase
    phase: Running
    

Pod状况(Condition)

  • 简介
    可以通过查看PodCondition列表了解更多信息,podCondition指示pod是否已达到某个状态,以及为什么会这样,与状态相反,一个Pod同时具有多个Conditions
  • Pod条件表
Pod Condition 描述
PodScheduled 表示pod是否已调度到节点
Initialized Pod的 init容器都已成功完成
ContainersReady Pod 中所有容器都已就绪
Ready Pod 可以为请求提供服务,并且应该被添加到对应服务的负载均衡池中
  • 显示pod的状况
    $ kubectl describe po <pod-name> | grep Conditions: -A5
    

容器状态

  • 容器状态最重要的部分是它的 state,容器可以处于下图所示的状态之一

  • 容器状态表

Container State 描述
Waiting 容器正在等待启动
Running 容器已创建并且进程正在其中运行,startAt字段指示此容器启动的时间
Terminated 已在容器中运行的进程已终止,finishedAt 字段指示容器何时终止,主进程终止的退出代码位于exitCode字段中
Unknown 无法确定容器的状态
  • 显示pod的容器状态
    $ kubectl describe po <pod-name> | grep Containers: -A15
    $ kubectl get po <pod-name> -o json | jq .status.containerStatuses
    $ kubectl get po <pod-name> -o json | jq .status
    

Pod 生命周期


如图展示了Pod的生命周期,分为三个阶段

  • initialization-初始化阶段
    在此期间 pod 的 init 容器运行
  • run-运行阶段
    Pod 的常规容器在其中运行
  • termination-终止阶段
    在该阶段终止 pod 的容器

相关文章

网友评论

      本文标题:Pod 的生命周期

      本文链接:https://www.haomeiwen.com/subject/guheoltx.html