配置调度
高层级 Valkey API 提供标准的 Kubernetes 调度控制。
亲和性策略
高层级 schema 接受以下 spec.affinityPolicy 值,但所检查的 Cluster builder 并未实现每一项 schema 描述:
必需反亲和性在集群可用节点过少时可能会使 Pod 处于 Pending 状态。例如,一个 shard 中的两个成员,无论采用哪种必需策略,都需要两个可用节点。不同的 shard 仍然可以共享这些节点。
对于现有的 Cluster 实例,在更新期间,reconcile 路径会保留每个 StatefulSet 当前的 Pod 亲和性。因此,已更改的 affinityPolicy 或 customAffinity 只会应用于之后创建的 StatefulSet,例如新添加 shard 的工作负载。请在创建时设置预期的策略。
节点选择器和容忍度
operator 会将这些设置传播到数据工作负载。对于 operator 创建的 Sentinel 部署,未指定的 Sentinel 节点选择器和容忍度将继承高层级实例值。
Failover 和 Replica 亲和性
Failover 和 Replica 不使用高层级 affinityPolicy 开关。当 spec.customAffinity 不存在时,它们的数据 StatefulSet 会获得跨数据组的必需反亲和性。当 spec.customAffinity 存在时,builder 会直接复制该 Kubernetes Affinity 对象。例如:
请将标签值替换为所属实例名称。仅在测试命名空间中,先针对 Failover 或 Replica 工作负载验证该字段,并检查生成的 StatefulSet 后,再应用此字段。operator 创建的 Sentinel 会继承高层级节点选择器和容忍度,但不会继承此自定义亲和性。
验证调度
等待 Valkey 资源恢复为 Ready。如果 Pod 仍然处于 Pending,请在放宽策略之前检查节点标签、污点、可分配资源、卷拓扑以及必需反亲和性。