Skip to content

Kubernetes Affinities, Taints and Tolerations as Filter/Weigher #422

@Varsius

Description

@Varsius

Description

Implement Kubernetes affinity, anti-affinity, and taints/tolerations in Cortex as filters or weighers in the scheduling pipeline to match the behavior of the default scheduler.

Objectives

  • Enforce hard node constraints (nodeSelector, required nodeAffinity) via filtering
  • Enforce hard pod affinity/anti-affinity via filtering
  • Implement preference handling (soft/preferred nodeAffinity and podAffinity) as weighers
  • Filter tainted nodes, unless tolerations apply
  • Documentation

Acceptance Criteria

  • Required node/pod affinity, anti-affinity, and taints/tolerations are enforced in the scheduling process
  •  Preference rules noticeably influence weighing
  •  Basic e2e tests

Dependencies

N/A

Additional Notes

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions