健康检查
1、健康检查
-
健康检查可以分为两种
-
1、livenessProbe (存活检查)。如果检查失败,将杀死容器,通过Pod的restartPolicy来操作。
-
2、readinessProbe(就绪检查)。如果检查失败,k8s会将Pod从Service endpoints中剔除。
-
Probe支持的三种检查方式:
-
1、httpGet,发送HTTP请求,如果返回200-400的状态码,为成功。
-
2、exec,执行shell命令返回的状态码为0表示成功
-
3、tcpSocket,发起tcp Socket建立成功
bash
# 通过exec进行演示状态码的变化
[root@master example]# vim healthy.yaml
[root@master example]# touch /tmp/healthy
[root@master example]# echo $?
0
[root@master example]# rm -fr /tmp/healthy
[root@master example]# cat /tmp/healthy
cat: /tmp/healthy: No such file or directory
[root@master example]# echo $?
1
# 通过yaml文件进行展示
[root@master example]# cat healthy.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-exec
spec:
containers:
- name: liveness
image: busybox
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy
livenessProbe: #健康检测部分代码
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5