【发布时间】:2022-05-13 18:59:45
【问题描述】:
我想在 kubernetes 环境中设置一个 inifinispan 集群。
DNS_PING 是发现协议。它适用于使用 DeploymentConfig 设置部署的 pod。但是,当我们将设置从 DeploymentConfig 切换到 StatefulSet 时,它就不起作用了。
这是因为我们不能直接用名字(pod name)查询一个pod的IP,而是用(pod name).(headless service created)模式。
jgroups 对我来说是新的。感谢是否有人可以建议我们如何为这种情况正确配置 DNS_PING。非常感谢。
【问题讨论】:
-
嗯,不要以为我有为此准备好的示例。我最近写了 (infinispan-kubernetes)[github.com/infinispan-demos/infinispan-kubernetes] 示例,但我认为它使用了需要集群角色绑定的
KUBE_PING。应该可以将该示例切换到 DNS_PING,但我还没有开始这样做...... -
我也许可以在接下来的几天内尝试一下。您能说出您使用的是哪个 Kubernetes 发行版吗?是 OpenShift 吗?迷你库?还是其他?
-
嗨@GalderZamarreño,是的,我用 OpenShift 试过了。
-
抱歉没有时间。模板 here 用于专用 OpenShift 服务。他们使用有状态集和 DNS ping,你可能会在那里找到你想要的。
-
嗨@GalderZamarreño,感谢您的帮助。集群可以使用有状态集启动并运行。但是,当其中一个节点消失时,我们会遇到这样的错误消息。似乎 FD 试图通过使用 pod 名称 (oauth2-1) 03:43:37,097 WARN [org.jgroups.protocols.TCP] (TQ-Bundler-7,ejb,oauth2) 直接连接到主机来恢复连接-2) JGRP000032: oauth2-2: oauth2-1 没有物理地址,丢弃消息
标签: dns kubernetes infinispan jgroups