#814·spicedb

新集群的节点可能报告健康,尽管调度失败或配置不正确

作者: ecordell创建于 2022年9月10日更新于 2026年8月19日
标签priority/3 lowarea/observabilityarea/dispatchSpiceDB

在启动新集群时,多个节点同时上线,会出现健康检查竞争条件,导致集群看起来健康,但调度功能并未正常工作: 1. 每个节点都独立启动,查询邻居 2. 由于其他节点尚未健康,每个节点都无法看到邻居,因此跳过了调度健康检查 3. 所有节点都报告健康,但某些其他问题(通常是网络或 TLS 配置)阻止了节点之间的通信 处于此状态的集群中第一个受到 API 调用的集群将出现错误,因为节点无法相互调度,因此任何处于此状态的集群都会立即被发现。但如果我们能够让新建集群的健康检查与现有集群的更新过程类似,那就太好了。 一个简单的解决方案是添加一个标志,指示启动健康检查通过的最小调度节点数量 - 但在 Kubernetes 上执行此类操作可能需要另一种方法来发现邻居,因为 `kuberesolver` 仅检测到已准备的邻居。

内容来源: authzed/spicedb