如何在 initContainer 中使用 netcat ping 受密码保护的 Redis 服务器?

bbm*_*mad 1 linux netcat redis kubernetes kubernetes-pod

注意:解决方案可以使用 netcat 或任何其他内置的 Linux 实用程序

我需要实现一个 initContainer 和 liveness 探测器,以确认我的 redis pod 已为我的一个 redis 依赖 pod 准备就绪。我已尝试使用此处提供的 netcat 解决方案作为答案( (printf "PING\r\n"; sleep 1) | nc 10.233.38.133 6379),但我收到-NOAUTH Authentication required.错误响应。有什么办法解决这个问题吗?我知道我可以在我的 Django 代码中安装 redis-cli 或创建一个管理命令,但我不想这样做。我也不想为我的 Redis 实例实现 Web 服务器并使用 curl 命令。

tad*_*man 5

您始终可以将AUTH命令作为探测的一部分发送,例如:

`"AUTH ....\r\nPING\r\n"`
Run Code Online (Sandbox Code Playgroud)

除非您INFO从服务器获取,否则您似乎并不关心响应的性质,因此不需要身份验证,只需测试NOAUTH.

  • 接受为答案。最终解决方案 `(printf "AUTH <password>\r\n"; sleep 1) | nc <redis IP> 6379` (2认同)