templates/deployment.yaml picks one of two scheduling blocks:
- multi-replica Deployment:
topologySpreadConstraints with whenUnsatisfiable: DoNotSchedule
raft.enabled: only a preferredDuringSchedulingIgnoredDuringExecution podAntiAffinity
So enabling raft loosens placement at the point it should tighten. A Deployment
stayed up losing 1 of 2 replicas; a raft quorum needs 2 of 3. All three members
can land on the same node, each with its PVC, and one node going away takes the
control plane with it.
There's no affinity value to override it, so it can't be fixed from values.
Could the raft path emit the hard constraint as well, or expose affinity?
templates/deployment.yamlpicks one of two scheduling blocks:topologySpreadConstraintswithwhenUnsatisfiable: DoNotScheduleraft.enabled: only apreferredDuringSchedulingIgnoredDuringExecutionpodAntiAffinitySo enabling raft loosens placement at the point it should tighten. A Deployment
stayed up losing 1 of 2 replicas; a raft quorum needs 2 of 3. All three members
can land on the same node, each with its PVC, and one node going away takes the
control plane with it.
There's no
affinityvalue to override it, so it can't be fixed from values.Could the raft path emit the hard constraint as well, or expose
affinity?