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
Copy file name to clipboardExpand all lines: keps/sig-node/5573-cgroup-v1-unsupported/README.md
+19-35Lines changed: 19 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,7 +91,7 @@ By formally moving cgroup v1 to unsupported status, Kubernetes provides a clear
91
91
92
92
### Goals
93
93
94
-
1.**Disable cgroup v1 support by default**: Set the kubelet flag `--disable-cgroupv1-support` to `true` by default, effectively making cgroup v1 unsupported unless explicitly enabled.
94
+
1.**Disable cgroup v1 support by default**: Set the kubelet flag `FailCgroupV1` to `true` by default, effectively making cgroup v1 unsupported unless explicitly enabled.
95
95
96
96
2.**Clear messaging**: Update warning messages and events to reflect that cgroup v1 is now unsupported rather than in maintenance mode.
97
97
@@ -119,7 +119,7 @@ The primary risks involve potential disruptions for users who have not yet migra
119
119
120
120
1.**Existing clusters running cgroup v1**: Users running Kubernetes on hosts with cgroup v1 will need to either:
121
121
- Migrate their hosts to cgroup v2 (recommended)
122
-
- Explicitly set `--disable-cgroupv1-support=false` to continue using cgroup v1 (not recommended)
122
+
- Explicitly set `FailCgroupV1=false` to continue using cgroup v1 (not recommended)
123
123
124
124
2.**Workload compatibility**: Users depending on technologies that require specific versions for cgroup v2 support:
125
125
- OpenJDK / HotSpot: jdk8u372, 11.0.16, 15 and later
@@ -130,7 +130,7 @@ The primary risks involve potential disruptions for users who have not yet migra
130
130
131
131
**Mitigations**:
132
132
- Provide comprehensive migration documentation and guidance
133
-
-Maintain the ability to override the default behavior with `--disable-cgroupv1-support=false`
133
+
-Change the KubeletConfig field FailCgroupV1 to false.
134
134
- Clear warning messages when cgroup v1 is detected
135
135
- Community support through migration period
136
136
- Advance notice through multiple release cycles
@@ -139,20 +139,20 @@ The primary risks involve potential disruptions for users who have not yet migra
139
139
140
140
This enhancement primarily involves configuration changes and messaging updates, building on the infrastructure already implemented in KEP-4569.
141
141
142
-
### Enable fail-cgroup-v1 by default
142
+
### Enable FailCgroupV1 by default
143
143
144
-
The key technical change is to modify the default value of the kubelet flag `--disable-cgroupv1-support` from `false` to `true`. This change will be implemented in the kubelet configuration types.
144
+
The key technical change is to modify the default value of the kubelet config api `FailCgroupV1` from `false` to `true`. This change will be implemented in the kubelet configuration types.
145
145
146
146
Current behavior:
147
147
```go
148
148
// Default: false (cgroup v1 support enabled by default)
149
-
DisableCgroupV1Support: false,
149
+
FailCgroupV1: false,
150
150
```
151
151
152
152
Proposed behavior:
153
153
```go
154
154
// Default: true (cgroup v1 support disabled by default)
155
-
DisableCgroupV1Support: true,
155
+
FailCgroupV1: true,
156
156
```
157
157
158
158
### Update warning messages and events
@@ -204,8 +204,7 @@ implementing this enhancement to ensure the enhancements have also solid foundat
204
204
205
205
All existing cgroup v2 test jobs must continue to pass. Tests should verify that:
206
206
1. The default behavior correctly disables cgroup v1 support
207
-
2. The override flag `--disable-cgroupv1-support=false` continues to work
208
-
3. Appropriate warning messages are displayed when cgroup v1 is detected
207
+
2. Appropriate warning messages are displayed when cgroup v1 is detected
209
208
210
209
##### Unit tests
211
210
@@ -246,31 +245,16 @@ We expect no non-infra related flakes in the last month as a GA graduation crite
246
245
1. Continue monitoring cgroup v2 CI jobs to ensure stability
247
246
2. Add specific tests for the new default behavior
248
247
3. Ensure all new tests use cgroup v2 hosts
249
-
4.Maintain minimal testing for override scenarios where cgroup v1 is explicitly enabled
248
+
4.Remove all cgroup v1 test lanes.
250
249
251
250
### Graduation Criteria
252
251
253
-
#### Alpha
252
+
#### GA
254
253
255
-
- Default value for `--disable-cgroupv1-support` changed to `true`
254
+
- Default value for `FailCgroupV1` changed to `true`
256
255
- Updated warning messages and events for unsupported status
257
256
- Documentation updates in kubernetes/enhancements repository
258
-
- Basic test coverage for new default behavior
259
-
260
-
#### Beta
261
-
262
-
- Comprehensive testing across multiple scenarios
263
-
- Updated documentation in kubernetes/website
264
-
- Community feedback incorporated
265
-
- Stable behavior across different environments
266
-
267
-
#### GA
268
-
269
-
- All tests passing consistently
270
-
- Complete documentation coverage
271
-
- Community migration guidance available
272
-
- Blog post announcing the change
273
-
- Preparation for future removal KEP
257
+
- All e2e testing removed for cgroup v1.
274
258
275
259
### Upgrade / Downgrade Strategy
276
260
@@ -287,7 +271,7 @@ enhancement:
287
271
-->
288
272
289
273
**Upgrade considerations**:
290
-
- Clusters upgrading to Kubernetes v1.35+ on cgroup v1 hosts will fail to start kubelet unless `--disable-cgroupv1-support=false` is explicitly set
274
+
- Clusters upgrading to Kubernetes v1.35+ on cgroup v1 hosts will fail to start kubelet unless `FailCgroupV1` is set to false
291
275
- Administrators should migrate to cgroup v2 before upgrading or explicitly set the override flag
292
276
- Clear documentation and communication about this breaking change
293
277
@@ -339,17 +323,17 @@ you need any help or guidance.
339
323
340
324
###### How can this feature be enabled / disabled in a live cluster?
341
325
342
-
This is a default configuration change. The feature can be controlled via the kubelet flag:
343
-
- To disable cgroup v1 support (default): `--disable-cgroupv1-support=true`
344
-
- To enable cgroup v1 support (override): `--disable-cgroupv1-support=false`
326
+
This is a default configuration change. The feature can be controlled via the kubelet config:
327
+
- To disable cgroup v1 support (default): `FailCgroupV1=true`
328
+
- To enable cgroup v1 support (override): `FailCgroupV1=false`
345
329
346
330
###### Does enabling the feature change any default behavior?
347
331
348
332
Yes, this change modifies the default behavior. Previously, cgroup v1 support was enabled by default. After this change, cgroup v1 support will be disabled by default.
349
333
350
334
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
351
335
352
-
Yes, users can set `--disable-cgroupv1-support=false` to re-enable cgroup v1 support.
336
+
Yes, users can set `FailCgroupV1=false` to re-enable cgroup v1 support.
353
337
354
338
###### What happens if we reenable the feature if it was previously rolled back?
355
339
@@ -386,7 +370,7 @@ Testing will include:
386
370
387
371
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
388
372
389
-
This change moves cgroup v1 from maintenance mode to unsupported status but does not remove any APIs or flags. The `--disable-cgroupv1-support` flag remains available for override purposes.
373
+
This change moves cgroup v1 from maintenance mode to unsupported status but does not remove any APIs or flags. The `FailCgroupV1` flag remains available for override purposes.
390
374
391
375
### Monitoring Requirements
392
376
@@ -463,7 +447,7 @@ This feature operates at the kubelet level and does not depend on API server or
463
447
464
448
**Failure mode**: Kubelet fails to start on cgroup v1 hosts
465
449
-**Detection**: Kubelet startup logs and node status
466
-
-**Mitigation**: Set `--disable-cgroupv1-support=false` or migrate to cgroup v2
450
+
-**Mitigation**: Set `FailCgroupV1=false` or migrate to cgroup v2
467
451
-**Diagnostics**: Kubelet logs will clearly indicate cgroup v1 detection and unsupported status
468
452
-**Testing**: Covered in unit and integration tests
0 commit comments