Health Check(Probe)
Health Check(Probe)称为健康检查,用于检查pod是否处于健康状态,若处于非健康状态,则会重新启动container,分为readiness probes和liveness probes。
Liveness Probes(存活探针)
虚拟机时期,当一个服务由于某些原因down了,比如oom,此时,只能等运维人员接收到告警或者用户投诉才会知道服务挂掉了,然后再登录到机器上,手动启动该服务,这样不仅加重了运维人员的工作量,并且就算能够重启,在重启前的这一段时间,服务是不可用的,这在线上可是非常严重的。
k8s所提供的的存活探针便能解决这一问题,而且能够降低运维成本,提高运维效率。
kubelet通过liveness判断是否重启container,比如,当存活探针检测到服务虽然在正常运行,但无法正常提供服务的时候,就会重新启动该container,提高服务的易用性。
配置liveness probes有以下三种方式
- command
该种方式通过配置comman的方式,执行存活检查时执行该command,通过command结果表示检测结果,检测失败重启container
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-exec
spec:
containers:
- name: liveness
image: k8s.gcr.io/busybox
args:
- /bin/sh
- -c
- touch /tmp/healthy</