• 14 pod生命周期 Sky


    1 pod生命周期
    pod的创建过程
    用户通过kubectl或其他api客户端提交pod spec给api server
    api server尝试着将pod对象的相关信息存入etcd中,待写入操作执行完成,api server即会返回确认信息至客户端。
    api server开始反映etcd中的状态变化
    所有的k8s组件均使用watch机制来跟踪检查api server上的相关变动
    kube-scheduler通过其watch觉察到api server创建了新的pod对象但尚未绑定至任何工作节点
    kube-scheduler为pod对象挑选一个工作节点并将结果信息更新至api server
    调度结果信息由api server更新至etcd,而且api server也开始反映此pod对象的调度结果
    pod被调度到目标工作节点上的kubelet尝试在当前节点上调用docker启动容器,并将容器的结果状态回送至api server
    api server将pod状态信息存入etcd中
    在etcd确认写入操作成功完成后,api server将确认信息发送至相关的kubelet。
    
    https://www.cnblogs.com/ltaodream/p/15317051.html
    
    
    2 pod状态
    一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:
    pod创建过程;
    运行初始化容器(init container)过程;
    运行主容器(main container):
      -容器启动后钩子(post start)、容器终止前钩子(pre stop)
      -容器的存活性探测(liveness probe)、就绪性探测(readiness probe)
    pod终止过程:
    
    在整个生命周期中,Pod会出现5种状态(相位),分别如下:
    挂起(Pending):apiserver已经创建了pod资源对象,但它尚未被调度完成或者仍处于下载镜像的过程中
    运行中(Running):pod已经被调度至某节点,并且所有容器都已经被kubelet创建完成
    成功(Succeeded):pod中的所有容器都已经成功终止并且不会被重启
    失败(Failed):所有容器都已经终止,但至少有一个容器终止失败,即容器返回了非0值的退出状态
    未知(Unknown):apiserver无法正常获取到pod对象的状态信息,通常由网络通信失败所导致
    
    一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:
    pod创建过程
    运行初始化容器(init container)过程
    运行主容器(main container)
    容器启动后钩子(post start)、容器终止前钩子(pre stop)
    容器的存活性探测(liveness probe)、就绪性探测(readiness probe)
    pod终止过程
  • 相关阅读:
    Codeforces Round #183 (Div. 2) B. Calendar
    FZU Problem 2030 括号问题
    NEU(1262: ASCII Sequence II)动态规划
    ZOJ(1711)Sum It Up (DFS+剪枝+去重复)
    ZOJ(1004)Anagrams by Stack (DFS+stack)
    HDU(3374) (KMP + 最小表示法)
    FZU Problem 1926 填空(KMP好题一枚,确实好)
    POJ(2481)Cows 树状数组
    HOJ (1042) 整数划分
    LeetCode: Two Sum
  • 原文地址:https://www.cnblogs.com/skyzy/p/16890966.html
Copyright © 2020-2023  润新知