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终止过程
标签:容器,生命周期,server,api,etcd,pod From: https://www.cnblogs.com/skyzy/p/16890966.html