文章插图
执行 nginx -s stop 命令后,容器就会退出,因为 Nginx 容器是持续提供服务的,服务停止后,容器就异常了,然后 kubernetes 又会重新拉起一个容器,在这个过程当中,我们使用 kubectl get pod 命令就会发现,容器的状态先变为 Completed,然后变为 CrashLoopBackOff,最后变为 Running 。
文章插图
对于初学者来讲,总是分不清存活探针和就绪探针的区别,什么情况下该使用存活探针?什么情况下应该使用就绪探针?我给的建议如下:
- 如果容器中的进程能够在遇到问题或异常的情况下自行崩溃,就像刚才的 Nginx 容器,那么不一定需要存活探针,kubelet 会根据 Pod 的重启策略自动执行正确的操作 。
- 如果想在探测失败时终止并重启容器,则可以指定存活探针,并将重启策略设置为 Always 或 OnFailure 。
- 如果只想在探针成功时才对 Pod 发送网络请求,则可以指定就绪探针,例如 HttpGet 。
- 如果容器需要在启动期间处理大型数据、配置文件或迁移,就使用就绪探针 。
- initialDelaySeconds:启动容器后首次监控检测的等待时间,单位为秒 。
- timeoutSeconds:发送监控检测请求后等待响应的超时时间,单位为秒,如果超时就认为探测失败,默认值为 10s 。
- periodSeconds:探针的执行周期,默认 10s 执行一次 。
- successThreshold:如果出现失败,则需要连续探测成功多次才能确认诊断成功 。默认值为1.
- failureThreshold:如果出现失败,则要连续失败多次才重启 Pod(对于存活探针)或标记为 Unready(对于就绪探针) 。默认值为3 。
livenessProbe/readinessProbe:exec/tcpSocket/httpGet:initialDelaySeconds: NumbertimeoutSeconds: NumberperiodSeconds: NumbersuccessThreshold: NumberfailureThreshold: Number
总结这篇文章我们主要讲了 Pod 的增删改查,Pod 与容器的关系,如何组织容器,Pod 的生命周期及对应事件,以及 Pod 的健康检查机制 。推荐阅读
- 除了WIFI,你所不知道的低成本私有无线网络组网解决方案
- 老茶头是怎么形成的,老茶头是如何形成的呢
- 猴菇丁香沙棘茶的功效,猴头丁香沙棘茶的功效与作用
- 苦荞茶品牌排行,黑苦荞茶的价格
- 韭菜子泡茶的功效,刺五加叶茶的功效与作用
- 经常喝六安瓜片的好处,六安瓜片的功效与作用
- 荷叶茶的功效与作用,茉莉荷叶茶功效
- 好白茶的主要品种,白茶是什么茶品种
- 后起八大茶山现状简介,古六大茶山之革登茶山的地理渊源
- 花草蜜桃茶的做法,蜜桃果茶的做法