kubenetes针对pod资源对象的健康监测机制是什么?

無名 发表于: 2021-07-28   最后更新时间: 2021-07-28 13:01:34   1,011 游览

kubenetes(k8s)针对pod资源对象的健康监测机制是什么?

发表于 2021-07-28

K8s中对于pod资源对象的健康状态检测,提供了三类probe(探针)来执行对pod的健康监测:

  • livenessProbe探针

    可以根据用户自定义规则来判定pod是否健康,用于判断容器是否处于Running状态,如果不是,kubelet就会杀掉该容器,并根据重启策略做相应的处理。如果容器不包含该探针,那么kubelet就会默认返回值都是success。

  • ReadinessProbe探针

    同样是可以根据用户自定义规则来判断pod是否健康,容器服务是否可用(Ready),如果探测失败,控制器会将此pod从对应service的endpoint列表中移除,从此不再将任何请求调度到此Pod上,直到下次探测成功。

  • startupProbe探针

    启动检查机制,应用一些启动缓慢的业务,避免业务长时间启动而被上面两类探针kill掉,这个问题也可以换另一种方式解决,就是定义上面两类探针机制时,初始化时间定义的长一些即可。

每种探测方法能支持以下几个相同的检查参数,用于设置控制检查时间:

  • initialDelaySeconds:初始第一次探测间隔,用于应用启动的时间,防止应用还没启动而健康检查失败;
  • periodSeconds:检查间隔,多久执行probe检查,默认为10s;
  • timeoutSeconds:检查超时时长,探测应用timeout后为失败;
  • successThreshold:成功探测阈值,表示探测多少次为健康正常,默认探测1次。
你的答案

查看kubernetes相关的其他问题或提一个您自己的问题