为 Redis 实例定制的 liveness 探测

Customized liveness probe for Redis instances

我需要更改我们为 Redis 实例设置的 liveness 探测器,并使其在无法 return 键(由于过载)时失败。目前,我们只是检查它是否接受 TCP 连接。

  livenessProbe:
    initialDelaySeconds: 20
    periodSeconds: 10
    tcpSocket:
      port: "redis"

我能想到的一个解决方案是通过 exec 命令设置和获取密钥。但我不确定该怎么做。命令可能是这样的:

set test "test"
get "test"

如果命令集失败或花费太多时间,则活性应该失败。

实现这个的最佳方法是什么?

您可以使活跃度和就绪度探测执行 bash 脚本:

      livenessProbe:
        exec:
          command:
          - /bin/sh
          - /health.sh
        initialDelaySeconds: 60
        periodSeconds: 100

并添加部分是您使用 redis cli 从内部登录到 Redis 实例,如果失败则退出代码除了 0