Skip to content

Commit 0bc5734

Browse files
committed
add a blog about KubeletCgroupDriverFromCRI feature
Signed-off-by: Peter Hunt <[email protected]>
1 parent 5a5560f commit 0bc5734

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
layout: blog
3+
title: "Kubernetes 1.31: Autoconfiguration For Node Cgroup Driver (beta)"
4+
date: 2024-08-21
5+
slug: cri-cgroup-driver-lookup-now-beta
6+
author: >
7+
Peter Hunt (Red Hat)
8+
---
9+
10+
Historically, configuring the correct cgroup driver has been a pain point for users running new
11+
Kubernetes clusters. On Linux systems, there are two different cgroup drivers:
12+
`cgroupfs` and `systemd`. In the past, both the [kubelet](/docs/reference/command-line-tools-reference/kubelet/)
13+
and CRI implementation (like CRI-O or containerd) needed to be configured to use
14+
the same cgroup driver, or else the kubelet would exit with an error. This was a
15+
source of headaches for many cluster admins. However, there is light at the end of the tunnel!
16+
17+
## Automated cgroup driver detection
18+
19+
In v1.28.0, the SIG Node community introduced the feature gate
20+
`KubeletCgroupDriverFromCRI`, which instructs the kubelet to ask the CRI
21+
implementation which cgroup driver to use. A few minor releases of Kubernetes
22+
happened whilst we waited for support to land in the major two CRI implementations
23+
(containerd and CRI-O), but as of v1.31.0, this feature is now beta!
24+
25+
In addition to setting the feature gate, a cluster admin needs to ensure their
26+
CRI implementation is new enough:
27+
28+
- containerd: Support was added in v2.0.0
29+
- CRI-O: Support was added in v1.28.0
30+
31+
Then, they should ensure their CRI implementation is configured to the
32+
cgroup_driver they would like to use.
33+
34+
## Future work
35+
36+
Eventually, support for the kubelet's `cgroupDriver` configuration field will be
37+
dropped, and the kubelet will fail to start if the CRI implementation isn't new
38+
enough to have support for this feature.

0 commit comments

Comments
 (0)