【发布时间】:2021-09-19 01:50:31
【问题描述】:
我已经为我的 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 命令可以吗?如果是,我该如何验证?
【问题讨论】:
标签: kubernetes redis livenessprobe