@@ -186,10 +186,15 @@ cgroupDriver option has been deprecated and will be dropped in a future release.
186
186
The ` --cgroup-driver ` flag and the cgroupDriver configuration option will be
187
187
deprecated when support for the feature is graduated to GA.
188
188
The configurations flags (and the related fallback behavior) will be removed in
189
- a later release as per the [ Kubernetes deprecation policy] [ deprecation-policy ] .
189
+ Kubernetes 1.36. This aligns well with containerd v1.7 going out of support, which is the last
190
+ remaining supported CRI that doesn't have support for this field.
190
191
At the point the kubelet refuses to start if the CRI runtime does not support
191
192
the feature.
192
193
194
+ Between version 1.34 and 1.36, the kubelet will emit a counter metric (` cri_losing_support ` ) when a CRI implementation is
195
+ used that doesn't have support for the RuntimeConfig CRI call. This metric will have a label describing the version support will be dropped by.
196
+ If one node in a cluster has containerd running with 1.7, the metric will look like ` cri_losing_support{,version="1.36"} 1 ` .
197
+
193
198
Kubelet startup is modified so that connection to the CRI server (container
194
199
runtime) is established and RuntimeConfig is queried before initializing the
195
200
kubelet internal container-manager which is responsible for kubelet-side cgroup
@@ -198,8 +203,6 @@ succeed, an error (error response or timeout) is regarded as a failed
198
203
initialization of the runtime service and kubelet will exit with an error
199
204
message and an error code.
200
205
201
- [ deprecation-policy ] : https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli
202
-
203
206
### Test Plan
204
207
205
208
[ x] I/we understand the owners of the involved components may require updates to
@@ -329,8 +332,8 @@ CgroupDriver as they must be today.
329
332
330
333
###### What specific metrics should inform a rollback?
331
334
332
- Nodes being in NotReady state with kubelet logs indicating an error in the
333
- RuntimeConfig CRI request, making kubelet fail to start .
335
+ ` cri_losing_support ` metric will be populated on nodes where the CRI implementation will one day lose support. After 1.36, kubelet will fatally error,
336
+ so admins should upgrade their out of support CRI implementations (if ` version==1.36 ` ) .
334
337
335
338
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
336
339
@@ -357,8 +360,8 @@ info`).
357
360
358
361
###### How can someone using this feature know that it is working for their instance?
359
362
360
- No metrics will expose this. Examining kubelet logs whould inform
361
- that the cgroup driver setting instructed by the runtime is being used.
363
+ The metric ` cri_losing_support ` when ` version == 1.36 ` will indicate those nodes will be out of support in 1.36.
364
+ If that metric is unpopulated, the feature is on (as it's GA) and the flag fallback is not being used.
362
365
363
366
After GA, the CgroupDriver configuration option and the ` --cgroup-driver ` flag
364
367
will be removed in a future release, in accordance with the
378
381
379
382
###### Are there any missing metrics that would be useful to have to improve observability of this feature?
380
383
381
- N/A.
384
+ The metric ` cri_losing_support ` when ` version == 1.36 ` will indicate those nodes will be out of support in 1.36.
385
+ If that metric is unpopulated, the feature is on (as it's GA) and the flag fallback is not being used.
382
386
383
387
### Dependencies
384
388
0 commit comments