Kubernetes v1.35 Introduces Extended Toleration Operators for Numeric Comparisons
Kubernetes v1.35 introduces Extended Toleration Operators as an alpha feature, adding Greater Than (Gt) and Less Than (Lt) operators to spec.tolerations. This enhancement addresses limitations in previous versions where taints and tolerations could only match exact values or check for existence, lacking support for numeric threshold comparisons. The new operators enable sophisticated, threshold-based scheduling decisions, facilitating better SLA-based placement, cost optimization, and performance-aware workload distribution. Platform teams can now define explicit thresholds, such as tolerating nodes with failure probabilities up to a specific percentage, allowing critical workloads to avoid risky capacity while permitting specific jobs to opt-in. This approach offers significant operational advantages over NodeAffinity, including safer default policies where nodes declare risk levels, eviction semantics via NoExecute effects, and improved operational ergonomics consistent with existing safety taints. By moving beyond discrete categories to continuous metrics, Kubernetes enhances its ability to manage mixed on-demand and spot/preemptible node clusters efficiently, reducing the need for complex workarounds like external admission controllers or multiple discrete taint values.
Wire timeline
Kubernetes v1.35 Introduces Extended Toleration Operators for Numeric Comparisons
Kubernetes v1.35 introduces Extended Toleration Operators as an alpha feature, adding Greater Than (Gt) and Less Than (Lt) operators to spec.tolerations. This enhancement addresses limitations in previous versions where taints and tolerations could only match exact values or check for existence, lacking support for numeric threshold comparisons. The new operators enable sophisticated, threshold-based scheduling decisions, facilitating better SLA-based placement, cost optimization, and performance-aware workload distribution. Platform teams can now define explicit thresholds, such as tolerating nodes with failure probabilities up to a specific percentage, allowing critical workloads to avoid risky capacity while permitting specific jobs to opt-in. This approach offers significant operational advantages over NodeAffinity, including safer default policies where nodes declare risk levels, eviction semantics via NoExecute effects, and improved operational ergonomics consistent with existing safety taints. By moving beyond discrete categories to continuous metrics, Kubernetes enhances its ability to manage mixed on-demand and spot/preemptible node clusters efficiently, reducing the need for complex workarounds like external admission controllers or multiple discrete taint values.
Kubernetes Blog