如何连接到Kubernetes集群中的redis-ha集群?

问题描述 投票:0回答:2

所以我最近在我的基于G-Cloud的kubernetes集群上安装了stable / redis-ha集群(https://github.com/helm/charts/tree/master/stable/redis-ha)。群集安装为没有ClusterIP的“无头服务”。组成该集群的有3个pod,其中一个是当选的master。

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

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

port_name.port_protocol.svc.namespace.svc.cluster.local(由文档指定)

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

“redis.exceptions.ConnectionError:错误-2连接到port_name.port_protocol.svc.namespace.svc.cluster.local:6379。名称无法解析。”

这不起作用。

不知道该怎么做。任何帮助将不胜感激。

redis kubernetes containers cluster-computing kube-dns
2个回答
1
投票

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.