我已经为我的 Redis 实例配置了一个活动探针,以确保 Redis 能够检索密钥,以便能够将其称为“活动”。
livenessProbe:
initialDelaySeconds: 20
periodSeconds: 10
exec:
command:
{{- include "liveness_probe" . | nindent 16 }}
_liveness.tpl
{{/* Liveness probe script. */}}
{{- define "liveness_probe" -}}
- "redis-cli"
- "set"
- "liveness_test_key"
- "\"SUCCESS\""
- "&&"
- "redis-cli"
- "get"
- "liveness_test_key"
- "|"
- "awk"
- "'$1 != \"SUCCESS\" {exit 1}'"
{{- end }}
进行更改后,吊舱可以启动。但是,我想确保探针按预期工作。为此,我只是在 get 命令之前添加了一个删除命令。
{{/* Liveness probe script. */}}
{{- define "liveness_probe" -}}
- "redis-cli"
- "set"
- "liveness_test_key"
- "\"SUCCESS\""
- "&&"
- "redis-cli"
- "del"
- "liveness_test_key"
- "&&"
- "redis-cli"
- "get"
- "liveness_test_key"
- "|"
- "awk"
- "'$1 != \"SUCCESS\" {exit 1}'"
{{- end }}
当我直接在命令提示符中执行此命令时,我得到了预期的退出代码。
但问题是我的 pod 仍然能够启动。
我使用的 liveness probe 命令可以吗?如果是这样,我该如何验证?