• Kubernetes v1.35: Extended Toleration Operators to Support Numeric Comparisons (Alpha) Many production Kubernetes clusters blend on-demand (higher-SLA) and spot/preemptible (lower-SLA) nodes to optimize costs while maintaining reliability for critical workloads. • Platform teams need a safe default that keeps most workloads away from risky capacity, while allowing specific workloads to opt-in with explicit thresholds like “I can tolerate nodes with failure probability up to 5%”. • Today, Kubernetes taints and tolerations can match exact values or check for existence, but they can’t compare numeric thresholds. • You’d need to create discrete taint categories, use external admission controllers, or accept less-than-optimal placement decisions. • In Kubernetes v1.35, we’re introducing Extended Toleration Operators as an alpha feature. • This enhancement adds Gt (Greater Than) and Lt (Less Than) operators to spec.tolerations , enabling threshold-based scheduling decisions that unlock new possibilities for SLA-based placement, cost optimization, and performance-aware workload distribution.
Article Summaries:
- Kubernetes v1.35 introduces an alpha feature that extends toleration operators to include numeric comparisons. The new “Gt” (greater than) and “Lt” (less than) operators allow pods to tolerate taints based on threshold values, enabling cost‑, SLA‑, and performance‑based scheduling decisions. This enhancement keeps the safe‑default model of taints and tolerations while adding flexibility that previously required workarounds such as multiple discrete taints or external admission controllers. Unlike NodeAffinity, which lacks eviction semantics, the new operators preserve the centralized, node‑side policy model and support NoExecute evictions, improving operational ergonomics for cluster operators.
Sources: