Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

ADD Support for custom node affinity configuration in Dapr Scheduler Helm chart. #9223

@MyMirelHub

Description

@MyMirelHub

In what area(s)?

/area placement
/area scheduler

Describe the feature

The current Helm charts for dapr-placement-server and dapr-scheduler-server only support "soft" anti-affinity rules (preferredDuringSchedulingIgnoredDuringExecution) via global.ha.enabled. They do not expose configuration for Topology Spread Constraints or Required (Hard) Node Affinity.

In some HA environments, if two out of three replicas are scheduled on the same Node or Zone, and the PVCs are subnet (AZ-bound), a single infrastructure failure results in the loss of a quorum. With only 1 replica remaining, leader election cannot occur.

Feature Request:
Update the Helm charts to allow configuration of hard scheduling constraints. Specifically:

  1. Topology Spread Constraints: Expose topologySpreadConstraints in values.yaml to allow users to enforce strict distribution across zones (e.g., topology.kubernetes.io/zone) with whenUnsatisfiable: DoNotSchedule.
  2. Custom Affinity: Allow the default affinity rules to be overridden or merged so users can define requiredDuringSchedulingIgnoredDuringExecution for node affinity.

Value:
Guarantees High Availability for production clusters. By strictly enforcing physical separation of control plane pods, Dapr can survive node or zonal failures without losing the consensus quorum required for operation.

Release Note

RELEASE NOTE: ADD Support for Topology Spread Constraints and strict affinity rules in Dapr Control Plane charts to ensure Quorum resilience.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions