首页 > 其他 > 详细

k8s的pod生命周期

时间:2019-05-09 21:24:23      阅读:228      评论:0      收藏:0      [点我收藏+]

pod的生命周期:
1.init container
2.main contianer
(1) post start hook :容器启动后做什么操作(可以命令查看kubectl explain pod.spec.containers.livesysle)
(2) readiness probe :容器正常工作阶段 (可以命令查看kubectl explain pod.spec.containers.readinessProbe/livenessProbe) (用于存活性探测和就绪性探测)
(2) pre stop hook :容器停止前做什么操作 (可以命令查看kubectl explain pod.spec.containers.livesysle)
例:
在kubectl explain pod.spec.containers.readinessProbe下面的选项解释:
exec (健康状态监测) 以命令方式来检测容器健康监测,注意一定得是容器内包含的镜像所支持的命令才可以。(如:ps,ss,netstat命令检查服务的端口或者反馈来判断容器是否健康)
failureThreshold 多判断几次,连续N次监测不成功才认为真不健康。 (错误阈值)
httpGet (健康状态监测) 例:可以用请求服务,看看是否会有你认为标准的反馈结果,如果正常则可以认为是健康的。
initialDelaySeconds 初始化多久以后再检查,不定义的话,刚启动就检查。
periodSeconds 检查周期,隔多长时间监测一次。
successThreshold 多判断几次,连续N次监测成功才认为是健康的。 (成功阈值)
tcpSocket (健康状态监测) 探测服务所监听的某一端口是否可以响应,若能响应,则认为健康。
timeoutSeconds 当检查时对方没响应,我们最多等待多长时间后就认为是监测失败。

健康状态监测和就绪状态监测区别:健康监测有权重启容器,就绪监测无权重启容器。

 

pod对象的相位:
pod对象总是应该处于其生命进程中的一下几个相位(phase)之一

1.pending:apiserver创建了pod资源对象并已存入etcd中,但尚未被调度完成,或仍处于从仓库下载镜像的过程中。
2.running: pod 已经被调度到某节点,并且所有容器都已经被kubelet创建完成。
3.succeeded:pod中的所有容器都已经成功终止并且不会被重启;
4.failed:所有容器都已经终止,但至少有一个容器终止失败,即容器返回了非0值的推出状态或已经被系统终止。
5.unknown:apiserver无法正常获取到pod对象的状态信息,通常是由于其无法与所在工作节点的kubelet通信所致。

k8s的pod生命周期

原文:https://www.cnblogs.com/Smbands/p/10840761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!