You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- changed CRI API to have a new RPC for querying for runtime config
(instead of re-using runtime Status)
- update kep.yaml: add reviewers and approvers
- added feature gate (enabled by default)
- changed target matutiry to beta
- add back the deprecation warning about cgroupDriver kubelet config
setting
- small updates to PRR
+ // Configuration information for Linux-based runtimes
239
+
+message RuntimeConfigRequestRequest {}
240
+
241
+
+message RuntimeConfigResponse {
242
+
+ // Configuration information for Linux-based runtimes. This field contains global
243
+
+ // runtime configuration options that are not specific to runtime handlers.
240
244
+ LinuxRuntimeConfiguration linux = 1;
241
245
+}
242
246
243
247
+message LinuxRuntimeConfiguration {
244
248
+ // Cgroup driver to use
245
249
+ CgroupDriver cgroup_driver = 1;
246
250
+}
247
-
+
251
+
248
252
+enum CgroupDriver {
249
253
+ CGGROUPFS = 0;
250
254
+ SYSTEMD = 1;
251
255
+}
252
256
```
253
257
254
-
The existing RuntimeStatus message (of the existing Status API endpoint) is
255
-
used as this is being frequently queried by the kubelet, and is a place where
256
-
the runtime tells the Kubelet about its state. The runtime will decide which
257
-
CgroupDriver to choose based on existing methods: its own configuration.
258
-
259
258
### Kubelet
260
259
261
260
Kubelet will be modified to support the new field.
@@ -265,10 +264,17 @@ will take precedence over cgroupDriver setting from the kubelet config (or
265
264
`--cgroup-driver` command line flag). If the runtime does not provide
266
265
information about the cgroup driver, then kubelet will fall back to using its
267
266
own configuration (`cgroupDriver` from kubeletConfig or the `--cgroup-driver`
268
-
flag).
267
+
flag). Further, the kubeletConfig field and `--cgroup-driver` flag will be
268
+
marked as deprecated, to be dropped when support for the feature is adopted by
269
+
CRI-O and containerd. Usage of the deprecated setting will produce a log
270
+
message, e.g.:
271
+
272
+
```
273
+
cgroupDriver option has been deprecated and will be dropped in a future release. Please upgrade to a CRI implementation that supports cgroup-driver detection.
274
+
```
269
275
270
276
Kubelet startup is modified so that connection to the CRI server (container
271
-
runtime) is established and RuntimeStatus is queried before initializing the
277
+
runtime) is established and RuntimeConfig is queried before initializing the
272
278
kubelet internal container-manager which is responsible for kubelet-side cgroup
273
279
management.
274
280
@@ -416,8 +422,17 @@ in back-to-back releases.
416
422
- Deprecate the flag
417
423
-->
418
424
419
-
All CRI implementations support the new cgroupDriver field, and the Kubelet
420
-
drops support for its own CgroupManager field/flag.
425
+
The feature is targeting directly to beta, with the feature gate enabled by
426
+
default.
427
+
428
+
#### Beta
429
+
430
+
-[ ] Feature implemented, with the feature gate enabled by default.
431
+
432
+
#### GA
433
+
434
+
-[ ] released versions of CRI-O and containerd runtime implementations support the feature
435
+
-[ ] No bugs reported in the previous cycle.
421
436
422
437
### Upgrade / Downgrade Strategy
423
438
@@ -453,7 +468,7 @@ the new field in the CRI API, they just resort to the existing behavior of
453
468
respecting their individual cgroup-driver setting. That is, if the node has a
454
469
container runtime that does not support this field the kubelet will use its
455
470
cgroupDriver setting from kubeletConfig (or `--cgroup-driver` commandline
456
-
flag). This is also the case if the kubelet does not support the new field:
471
+
flag). This is also the case if the kubelet does not support the new field:
457
472
the information about cgroup driver advertised by the runtime will be just
458
473
ignored by kubelet and it will resort to its own configuration settings. Note:
459
474
this does present a configuration skew risk, but that risk is the same as
@@ -501,8 +516,9 @@ well as the [existing list] of feature gates.
0 commit comments