|
1 | 1 | ---
|
2 | 2 | layout: blog
|
3 | 3 | title: "Kubernetes v1.32: QueueingHint Brings a New Possibility to Optimize Pod Scheduling"
|
4 |
| -date: 2024-xx-xxT00:00:00-08:00 |
| 4 | +date: 2024-12-12 |
5 | 5 | slug: scheduler-queueinghint
|
| 6 | +draft: true |
| 7 | +Author: > |
| 8 | + [Kensei Nakada](https://github.com/sanposhiho) (Tetrate.io) |
6 | 9 | ---
|
7 | 10 |
|
8 |
| -**Author:** [Kensei Nakada](https://github.com/sanposhiho) (Tetrate.io) |
9 |
| - |
10 | 11 | The Kubernetes [scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) is the core
|
11 | 12 | component that decides which node any new Pods should run on.
|
12 | 13 | Basically, it schedules Pods **one by one**,
|
@@ -92,15 +93,25 @@ for example, filtering out node related events when nodes aren't ready.
|
92 | 93 | But, it's not ideal because this hard-coded `preCheck` refers to in-tree plugins logic,
|
93 | 94 | and it causes issues for custom plugins (for example: [#110175](https://github.com/kubernetes/kubernetes/issues/110175)).
|
94 | 95 |
|
95 |
| -## What's new in v1.29 |
| 96 | +## QueueingHint's history and what's new in v1.32 |
96 | 97 |
|
97 | 98 | Within SIG Scheduling, we have been working on the development of QueueingHint since
|
98 | 99 | Kubernetes v1.28.
|
99 |
| -In v1.28, only one alpha plugin (DRA) supported QueueingHint, |
100 |
| -and in v1.29, some stable plugins started to implement QueueingHints. |
101 | 100 |
|
102 |
| -QueueingHint is not something user-facing, but we have a feature gate (`SchedulerQueueingHints`) as a safety net |
103 |
| -because QueueingHint changes a critical path of the scheduler and adds some memory overhead, depending on how busy a cluster is. |
| 101 | +QueueingHint is not something user-facing, but we implemented a feature gate (`SchedulerQueueingHints`) as a safety net, |
| 102 | +...which actually saved our life soon. |
| 103 | + |
| 104 | +In v1.28, we implemented QueueingHints with a few in-tree plugins experimentally, |
| 105 | +and made the feature gate enabled by default. |
| 106 | + |
| 107 | +But, users reported the memory leak issue, and consequently we disabled the feature gate in the patch release of v1.28. |
| 108 | + |
| 109 | +In v1.28 - v1.31, we kept working on the QueueingHint implementation within the rest of in-tree plugins, |
| 110 | +and having bug fixes. |
| 111 | + |
| 112 | +And, at v1.32, we will make this feature enabled by default again; |
| 113 | +we finished implementing QueueingHints with all plugins, |
| 114 | +and also identified the cause of the memory leak, finally! |
104 | 115 |
|
105 | 116 | ## Getting involved
|
106 | 117 |
|
|
0 commit comments