我在Kubernetes中部署了一个点燃集群,我解决了一个阻止集群成员加入该组的问题。如果我使用readinessProbe和livenessProbe,即使延迟低至10秒,它们的节点也不会彼此连接。如果我删除这些探针,它们会发现彼此很好。

因此,我的问题是:您可以使用这些探针来监视节点的运行状况吗?如果可以,什么是合适的设置?最重要的是,对于Ignite来说,什么是好的快速健康检查?

最佳答案

更新:

After posting on the ignite mailing list, it looks like StatefulSets are the way to go. (Thanks Dmitry!)

我认为我将保留以下逻辑以自我修复任何细分问题,尽管希望它不会经常触发。

原答案:

我们遇到了同样的问题,我认为我们有一个可行的解决方案。 Kubernetes发现spi列出准备就绪的服务。

这意味着,如果启动时没有就绪的Pod,则所有点燃实例都认为它们是第一个,并创建自己的网格。

如果我们有确定性的方式使Pod不属于“权威”网格的一部分,则集群应该能够自我修复。

为了做到这一点,我们保留了对TcpDiscoveryKubernetesIpFinder的引用,并使用它来定期检查点燃容器的列表。

如果实例是列表中不包含按字母顺序排列的第一个IP的群集的一部分,则我们知道我们具有分段拓扑。杀死进入该状态的Pod会使它们再次出现,查看服务列表并加入正确的拓扑。

关于kubernetes - 点燃准备探针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45176143/

10-12 21:55