因此,我最近在基于G-Cloud的kubernetes集群上安装了稳定/可重复使用的集群(https://github.com/helm/charts/tree/master/stable/redis-ha)。群集被安装为没有ClusterIP的“无头服务”。有3个Pod组成此群集,其中一个Pod被选为Master。
集群已安装成功,可以从本地PC上通过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。名称不 解决。”
这不起作用。
不确定在这里做什么。任何帮助将不胜感激。
答案 0 :(得分:1)
DNS似乎不正确。应该采用以下格式
select
x2.val
from xmltable('/fields'
passing xmltype('
<fields>
<field key="2" val="5" type="D"/>
<![CDATA[<field key="3" val="SkpKSko=" type="T">
</field>]]>
</fields>
')
columns cdata varchar2(2048) path 'text()') as x1,
xmltable('/field[@key=3]'
passing xmltype(x1.cdata)
columns val varchar2(30) path '@val') as x2;
您也可以使用pod dns,如下所示
VAL
--------
SkpKSko=
假设服务端口与容器端口相同,即6379
答案 1 :(得分:0)
不确定这是否仍然有意义。只需增强与其他图表类似的图表即可支持NodePort,例如rabbitmq-ha,以便要从群集外部访问redis时可以使用任何节点ip和已配置的节点端口。