livenessProbe:
exec:
command:
- /bin/sh
- -c
- if [ "$(date +%H%M)" -eq "0600" ]; then exit 1; else exit 0; fi
failureThreshold: 2
initialDelaySeconds: 60
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 2
- livenessProbe: 定义容器的 liveness 检测方式,即检测容器是否存活。
- exec: 使用执行命令的方式进行检测。
- command: 执行的命令是
/bin/sh -c 'if [ "$(date +%H%M)" -eq "0600" ]; then exit 1; else exit 0; fi'
。/bin/sh -c
: 执行 shell 命令。if [ "$(date +%H%M)" -eq "0600" ]; then exit 1; else exit 0; fi
- command: 执行的命令是
- exec: 使用执行命令的方式进行检测。
即:检查当前时间是否为 06:00,如果是则返回 1(失败),否则返回 0(成功)。
- failureThreshold: 如果连续失败次数达到2次,则认为容器失败。
- initialDelaySeconds: 容器启动后首次执行检测的等待时间,即等待60秒后开始首次检测。
- periodSeconds: 检测周期,每5秒检测一次。
- successThreshold: 连续成功次数达到1次则认为容器成功。
- timeoutSeconds: 检测命令执行的超时时间,2秒后视为超时。
这段配置的作用是:每隔 5 秒钟检测一次容器的 liveness。如果在早上 6 点时,命令将返回失败状态(exit 1),否则返回成功状态(exit 0)。所以会在每天六点重启pod。