摘要:startup probe启动探测是kubernetes在v1.16版本新增加的内容,主要解决在复杂的程序中readiness probe、liveness probe探针无法更好的判断是否就绪、是否存活的问题。
kubernetes的探针分成:startup probe启动探针、readiness probe就绪探针、liveness probe存活探针。
startup probe启动探测是kubernetes在v1.16版本新增加的内容,主要解决在复杂的程序中readiness probe、liveness probe探针无法更好的判断是否就绪、是否存活的问题。
定义启动探针startup probe,并且等启动探测通过后,再开始去做存活探测liveness probe或者就绪探测readiness probe。
启动探测的参数选项:
initialdelayseconds:容器启动后要等待多少秒后探针开始工作,单位是秒。默认值是0秒,最小值是0。
periodSeconds:执行探测的时间间隔(单位是秒,默认是10s,单位是秒,最小值是1。
timeoutSeconds:探针执行检测请求后,等待响应的超时时间。默认为1s,单位是秒,最小值为1。TCP访问、脚本超时、HTTP的访问,会有一个超时时间。所有的探测命令、执行的探测脚本,必须它所消耗资源的量级足够小,才不会影响当前的真正的应用。
successThreshold:探针检测失败后认为成功的最小连接成功次数。默认为1,必须为1才能激活和启动,最小值为1。
failureThreshold:探测失败的重试次数,重试一定次数后将认为失败,默认值是3,最小值是1。
启动探针startup probe保证了存活探针liveness probe在执行的时候,不会因为时间设置问题导致无限死亡或者延迟很长的情况。
启动探测执行成功后,开始允许存活探测liveness probe、就绪探测readiness probe开始执行。
启动探测startup probe失败后,静默,等待下一次启动探针startup probe的执行。
启动探测的执行结果是的未知的情况,依然是静默,等待下一次启动探测startup probe的执行。
在启动探测startup probe中,应用程序最多有:
failureThreshold * periodSeconds 秒的时间来完成启动过程。根据最大容忍次数 ✖️当前的检测时间间隔,计算出我们允许探测的最大时间或者最长时间,在这个时间内必须要完成启动动作。
在vim $filename的编辑模式下,可以设置set paste进入粘贴模式。
只有当启动探测startup probe成功以后,就绪探测readiness probe和存活探测liveness probe才开始允许被执行。
必须完成启动探测startup probe,后续的探测(就绪探测readiness probe和存活探测liveness probe)才能被执行。
必须先通过启动探测startup probe,然后再通过就绪探测readiness probe,所以pod标记为就绪状态,这就是启动探测的意义。
探测的方式包括:启动探测startup probe、就绪探测readiness probe、存活探测liveness probe。
田黄印章
鼓励的话语:风尘三尺剑,社稷一戎衣!
来源:歆瑶教育