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
@@ -75,7 +75,11 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
75
75
76
76
## Summary
77
77
78
-
Formally move cgroup v1 into an unsupported state in Kubernetes, building upon the maintenance mode introduced in KEP-4569. This enhancement will disable cgroup v1 support by default and provide clear messaging that cgroup v1 is no longer supported.
78
+
Remove cgroup v1 support from Kubernetes codebase, building upon the maintenance mode introduced in KEP-4569. This enhancement will remove cgroup v1 support.
79
+
80
+
This KEP will have a phased approach where beta will prevent kubelet from starting on a cgroup v1 node.
81
+
82
+
In n+3 releases, we will remove the cgroup v1 code.
79
83
80
84
## Motivation
81
85
@@ -84,10 +88,10 @@ Following the transition of cgroup v1 support to maintenance mode in KEP-4569, t
84
88
The motivation builds on the rationale established in KEP-4569:
85
89
- The Linux kernel community has made cgroup v2 the focus for new features
86
90
- Major Linux distributions are phasing out cgroup v1 support
87
-
- systemd and other critical components are moving beyond cgroup v1
91
+
-[systemd](https://github.com/systemd/systemd/releases/tag/v258) and other critical components are moving beyond cgroup v1
88
92
- cgroup v2 offers better functionality, more consistent interfaces, and improved scalability
89
93
90
-
By formally moving cgroup v1 to unsupported status, Kubernetes provides a clear signal to the community about the deprecation path and encourages migration to the more secure and efficient cgroup v2 technology.
94
+
By removing cgroup v1, Kubernetes provides a clear signal to the community about the removal path and encourages migration to the more secure and efficient cgroup v2 technology.
91
95
92
96
### Goals
93
97
@@ -103,15 +107,16 @@ By formally moving cgroup v1 to unsupported status, Kubernetes provides a clear
103
107
104
108
6.**Remove testing cgroup v1**: Moving to unsupported means that Kubernetes will no longer run tests on cgroup v1 nodes.
105
109
110
+
7.**Remove cgroup v1 code**: Removing the code is the next logic step once we stop testing it. This will clean up
111
+
the codebase.
112
+
106
113
### Non-Goals
107
114
108
-
- Complete removal of cgroup v1 code (this will be addressed in a future KEP)
109
-
- Breaking existing clusters that explicitly enable cgroup v1 support
110
-
- Removing the ability to override the default behavior
115
+
NA.
111
116
112
117
## Proposal
113
118
114
-
This proposal builds upon the foundation laid by KEP-4569 (Moving cgroup v1 support into maintenance mode) and formally transitions cgroup v1 from maintenance mode to unsupported status.
119
+
This proposal builds upon the foundation laid by KEP-4569 (Moving cgroup v1 support into maintenance mode) and formally removes cgroup v1 code from kubelet.
115
120
116
121
### Risks and Mitigations
117
122
@@ -180,6 +185,14 @@ Update all relevant documentation across the Kubernetes ecosystem:
180
185
- Release notes
181
186
- Blog posts about the transition
182
187
188
+
### Removal of cgroup v1
189
+
190
+
<UNRESOLVED @haircommander>
191
+
Once all supported releases of Kubernetes have `FailCGroupV1` set to true, we can begin the removal of the cgroup v1 support.
192
+
193
+
In this section, we should call the places where we are going to remove cgroup v1.
194
+
</UNRESOLVED>
195
+
183
196
### Test Plan
184
197
185
198
<!--
@@ -249,13 +262,17 @@ We expect no non-infra related flakes in the last month as a GA graduation crite
249
262
250
263
### Graduation Criteria
251
264
252
-
#### GA
265
+
#### Beta
253
266
254
267
- Default value for `FailCgroupV1` changed to `true`
255
268
- Updated warning messages and events for unsupported status
256
269
- Documentation updates in kubernetes/enhancements repository
257
270
- All e2e testing removed for cgroup v1.
258
271
272
+
#### Stable
273
+
274
+
- Remove all cgroup v1 related code.
275
+
259
276
### Upgrade / Downgrade Strategy
260
277
261
278
<!--
@@ -460,7 +477,7 @@ This feature operates at the kubelet level and does not depend on API server or
460
477
461
478
## Implementation History
462
479
463
-
-**2025-09-26**: KEP for moving cgroup v1 to unsupported status created
480
+
-**2025-09-26**: KEP for removing cgroup v1 created
0 commit comments