Skip to content

Conversation

@charliedmcb
Copy link
Contributor

@charliedmcb charliedmcb commented Sep 17, 2025

Fixes #

Description
Restricting the domain of taints, and startupTaints for the domain "kubernetes.azure.com".

This is to align with AKS validation of taints, and usage of well-known taints.

Note: had to restrict taints to a max of 100 to work within CEL validation time complexity limits

Broken off fixing the cel validation for labels and requirements into separate PR here:

How was this change tested?

Manually tested impact of having these CRDs applied, if there was an existing non-compliant NodePool, and found the following:
(1) A warning will be returned on an update that doesn't modify the taint:
image
(2) An error will be returned if the taint is removed, and then attempted to be reapplied:
image

E2E runs:

Does this change impact docs?

  • Yes, PR includes docs updates
  • Yes, issue opened: #
  • No

Release Note

BREAKING CHANGE:
- "taints": restricted keys, will reject any non-well-known taint key for the domain "kubernetes.azure.com" (well-known taints: "kubernetes.azure.com/scalesetpriority" and "kubernetes.azure.com/mode")
- "taints": restricted to a "maxItems: 100"
- "startupTaints": restricted keys, will reject any taint for the domain "kubernetes.azure.com"

@charliedmcb charliedmcb changed the base branch from main to charliedmcb/fixLabels+RequirementsCelTesting September 17, 2025 20:09
Base automatically changed from charliedmcb/fixLabels+RequirementsCelTesting to main September 17, 2025 21:13
tallaxes
tallaxes previously approved these changes Sep 18, 2025
Copy link
Collaborator

@tallaxes tallaxes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The implementation LGTM. In the larger picture, I have some concerns surrounding implicit application of taints in general (Karpenter - or any autoscaler - needs to be aware of expected taints), and spot-specific taint in particular (breaks mixed nodepools); discussing offline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants