Kubernetes健康检查-存活探针和就绪探针
原文https://blog.51cto.com/kusorz/2069412
#存活探针
#当应用程序处于运行状态但无法做进一步操作,liveness探针将捕获到deadlock,重启处于该状态下的容器
#探针检测命令是在容器中执行 cat /tmp/healthy 命令
#如果命令执行成功,将返回0,kubelet就会认为该容器是活着的并且很健康。
#如果返回非0值,kubelet就会杀掉这个容器并重启它。
livenessProbe:
httpGet:
path: /
port: 80
#容器启动180s后开始检查
initialDelaySeconds: 180
#periodSeconds 规定kubelet要每隔6秒执行一次liveness probe。默认是10秒,最小1秒。
periodSeconds: 6
#timeoutSeconds:探测超时时间。默认1秒,最小1秒。
timeoutSeconds: 5
#failureThreshold:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3。最小值是1。
#successThreshold:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1。对于liveness必须是1。最小值是1。
#就绪探针readinessProbe
#只有当Pod中的容器都处于就绪状态时kubelet才会认定该Pod处于就绪状态
#该信号的作用是控制哪些Pod应该作为service的后端
#如果Pod处于非就绪状态,那么它们将会被从service的load balancer中移除
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
timeoutSeconds: 1
例如:
...
livenessProbe:
tcpSocket:
port: 9003
initialDelaySeconds: 180
periodSeconds: 6
timeoutSeconds: 1
failureThreshold: 5
successThreshold: 1
readinessProbe:
tcpSocket:
port: 9003
initialDelaySeconds: 10
periodSeconds: 6
timeoutSeconds: 1
failureThreshold: 1
successThreshold: 2
...