美文网首页
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