Kubernetes 1.29 introduces an improved handling of taint-based pod eviction. The new feature gate, SeparateTaintEvictionController, enables the separation of taint-handling responsibilities into two components, enhancing code maintainability and extensibility.
The taint-based eviction implementation has been moved into a separate taint-eviction-controller, allowing for independent management and future extensions.
New metrics have been introduced to monitor taint-based pod evictions, including pod_deletion_duration_seconds and pod_deletions_total.
Cluster administrators can optionally disable taint-based eviction by setting --controllers=-taint-eviction-controller in kube-controller-manager.
Disabling the new feature reverts to the old taint-manager within node-lifecycle-controller.
This feature provides flexibility for cluster administrators to customize and extend taint-based eviction handling to meet specific needs.
The existing behavior of taint-based pod evictions remains unchanged with this feature.
Enabling the feature does not significantly impact performance or resource usage.
Multiple community members contributed to the development of this feature, including Aldo Culquicondor, Maciej Szulik, Filip Křepinský, Han Kang, Wei Huang, Sergey Kanzhelevi, Ravi Gudimetla, and Deep Debroy.
For further details, refer to the KEP.
kubernetes.io
kubernetes.io
Create attached notes ...
