Kubernetes v1.35: Elevate Scheduling with Extended Toleration Operators
Kubernetes v1.35 brings a significant enhancement to scheduling with the introduction of Extended Toleration Operators. This feature allows you to use Gt (Greater Than) and Lt (Less Than) operators in tolerations, enabling the scheduler to make decisions based on numeric taint values. This means you can set up your workloads to respond dynamically to continuous metrics rather than being limited to discrete categories. For instance, if a node's resource utilization exceeds a certain threshold, you can configure tolerations that only allow pods to be scheduled if the taint value is above or below a specified number.
The mechanics are straightforward: the Gt operator matches if the taint's numeric value is greater than the toleration's value, while the Lt operator matches if it is less. This opens up new possibilities for managing workloads, especially in environments where resource metrics fluctuate frequently. However, keep in mind that numeric values for these operators must be positive 64-bit integers without leading zeros. So, while "100" is valid, "0100" and "0" are not permitted. This small detail can trip you up in production if you're not careful.
In practice, using these operators can lead to more efficient resource utilization and better handling of node SLA degradation. However, as this feature is still in alpha, you should approach it with caution. Test thoroughly before rolling it out in a critical environment, as alpha features can have unexpected behaviors and may not be fully supported yet.
Key takeaways
- →Utilize Gt and Lt operators for threshold-based scheduling decisions.
- →Ensure numeric values are positive 64-bit integers without leading zeros.
- →Leverage tolerationSeconds to manage pod eviction during SLA degradation.
Why it matters
This feature allows for more intelligent scheduling, enabling your applications to adapt to changing resource conditions, which can lead to improved performance and resource efficiency in production environments.
When NOT to use this
The official docs don't call out specific anti-patterns here. Use your judgment based on your scale and requirements.
Want the complete reference?
Read official docsUnified observability — logs, uptime monitoring, and on-call in one place. Used by 50,000+ engineering teams to ship faster and sleep better.
Try Better Stack free →Debugging GPU Utilization in Kubernetes: The Cilium and Kubeflow Challenge
Struggling with idle GPUs in your Kubernetes cluster? Discover how Cilium's topology-aware networking can clash with Kubernetes scheduling, leading to inefficient resource use. Learn how to leverage nodeAffinity and podAffinity to optimize your GPU workloads.
Building the Agentic Enterprise: Kubernetes and Internal Developer Platforms
The shift towards agentic enterprises is redefining how we manage software and infrastructure. Internal Developer Platforms (IDPs) streamline workflows for both humans and AI agents, ensuring efficient resource management. Dive into the mechanics of this evolution and what it means for your Kubernetes deployments.
Optimizing JVM Performance in AWS Kubernetes: Memory, CPU, and Classpath Best Practices
Running Java applications in containers on AWS can be tricky. Understanding JVM memory management and classpath behavior is crucial for performance. Learn how to configure your JVM for optimal resource usage and avoid common pitfalls.
Get the daily digest
One email. 5 articles. Every morning.
No spam. Unsubscribe anytime.