K8s 存活(liveness)就绪(readiness)和启动(startup)探测器

大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述K8s 存活(liveness)就绪(readiness)和启动(startup)探测器相关的知识,希望能为你提供帮助。
liveness probe(存活探测器):用于探测pod里的容器是否为正常提供服务,通俗说就是应用是否正常,如果应用运行状态不正常,则重启容器。
readiness probe(就绪探测器):用于探测pod里的容器是否准备好,通俗说就是应用是否准备好,只有pod上的所有容器都处于就绪状态,才会认定pod是准备好了,否则就会把它从service(endpoint)里移除,这样流量就不会被路由分到这个pod上了。
startup probe(启动探测器):有时候,会有一些现有的应用程序在启动时需要较多的初始化时间。为了避免产生存活或就绪探测死锁,可以通过设置启动探测来解决,针对HTTP或TCP检测,可以通过设置failureThreshold * periodSeconds 参数来保证有足够长的时间应对糟糕情况下的启动时间。
startup probe探测成功前其他探测会被禁掉,一旦startup probe成功一次,就不再使用,liveness probe就会接管对容器的探测。
failureThreshold:失败探测次数;
periodSeconds:每次探测的间隔;
initialDelaySeconds:容器初始化时间,在该时间后才会进行探测。
三种探测区别:
liveness probe和startup probe探测失败会使容器重启。
【K8s 存活(liveness)就绪(readiness)和启动(startup)探测器】readiness probe:探测失败容器不会重启,但是会从服务列表中(service对应的endpoint)将该pod信息剔除

    推荐阅读