提问者:小点点

如何连接到库伯内特斯集群中的redis-ha集群?


所以我最近在我基于G-Cloud的kubernetes集群上安装了稳定/redis-ha集群(https://github.com/helm/charts/tree/master/stable/redis-ha)。该集群被安装为没有ClusterIP的“Headless Service”。这个集群有3个pod,其中一个被选为master。

集群已安装没有问题,可以通过redis-cli从我的本地电脑访问(使用kubectl进行端口转发后)。

集群安装的输出为我提供了集群DNS名称。因为服务是无头的,所以我使用以下DNS名称

port_nameport_protocol. svc.namesspace.svc.club.local(由留档指定)

尝试连接时,我收到以下错误:

"redis. Exctions.ConnectionError:Error-2连接到port_name。port_protocol.svc.namesspace.svc.club.local:6379。名称无法解析。"

这是行不通的。

不知道在这里做什么。任何帮助都将不胜感激。


共2个答案

匿名用户

DNS似乎是不正确的。它应该是以下格式

<redis-service-name>.<namespace>.svc.cluster.local:6379

say, redis service name is redis and namespace is default then it should be
redis.default.svc.cluster.local:6379

您也可以使用pod dns,如下所示

<redis-pod-name>.<redis-service-name>.<namespace>.svc.cluster.local:6379

say, redis pod name is redis-0 and redis service name is redis and namespace is default then it should be
redis-0.redis.default.svc.cluster.local:6379

假设服务端口与容器端口相同,即6379

匿名用户

不确定这是否仍然相关。只需增强类似于其他图表的图表以支持NodePort,例如Rabbitmq-ha,以便您可以使用任何节点ip和配置的节点端口,如果您想从集群外部访问redis。