Apply suggestions from code review

Co-authored-by: Tim Bannister <tim@scalefactory.com>
Signed-off-by: David Porter <david@porter.me>
pull/35452/head
David Porter 2022-08-22 16:43:26 -07:00 committed by David Porter
parent e87e2244b4
commit 535cf0fc4e
1 changed files with 15 additions and 13 deletions

View File

@ -5,10 +5,11 @@ date: 2022-08-31
slug: cgroupv2-ga-1-25
---
**Authors:**: David Porter (Google), Mrunal Patel (RedHat)
**Authors:**: David Porter (Google), Mrunal Patel (Red Hat)
Kubernetes 1.25 brings cgroup v2 to GA (general availability), letting the
kubelet use the latest resource management capabilities.
[kubelet](/docs/concepts/overview/components/#kubelet) use the latest container resource
management capabilities.
## What are cgroups?
@ -33,30 +34,31 @@ unified control system with enhanced resource management capabilities.
cgroup v2 has been development in the Linux Kernel since 2016 and in recent
years has matured across the container ecosystem. With Kubernetes 1.25, cgroup
v2 support is graduating to GA.
v2 support has graduated to general availability.
Many new Linux distributions have switched over to cgroup v2 by default so it's
important that Kubernetes continues to work well on these new updated distros.
Many recent releases of Linux distributions have switched over to cgroup v2 by
default so it's important that Kubernetes continues to work well on these new
updated distros.
cgroup v2 offers several improvements over cgroup v1, such as the following:
* Single unified hierarchy design in API
* Safer sub-tree delegation to containers
* Newer features like Pressure Stall Information
* Newer features like [Pressure Stall Information](https://www.kernel.org/doc/html/latest/accounting/psi.html)
* Enhanced resource allocation management and isolation across multiple resources
* Unified accounting for different types of memory allocations (network and kernel memory, etc)
* Accounting for non-immediate resource changes such as page cache write backs
Some Kubernetes features exclusively use cgroup v2 for enhanced resource
management and isolation. For example,
the [MemoryQoS feature](https://kubernetes.io/blog/2021/11/26/qos-memory-resources/) improves
memory QoS and relies on cgroup v2 functionality to enable it. New resource
management features in the kubelet will also take advantage of the new cgroup
v2 features moving forward.
the [MemoryQoS feature](/blog/2021/11/26/qos-memory-resources/) improves
memory utilization and relies on cgroup v2 functionality to enable it. New
resource management features in the kubelet will also take advantage of the new
cgroup v2 features moving forward.
## How do you use cgroup v2?
Many Linux distributions are switching to cgroup v2 by default, you might start
Many Linux distributions are switching to cgroup v2 by default; you might start
using it the next time you update the Linux version of your control plane and
nodes!
@ -76,7 +78,7 @@ refer to [Check your cgroup version](/docs/concepts/architecture/cgroups/#check-
consult your distribution's documentation.
If you're using a managed Kubernetes offering, consult your provider to
determine how they're adopting cgroup v2.
determine how they're adopting cgroup v2, and whether you need to take action.
To use cgroup v2 with Kubernetes, you must meet the following requirements:
@ -119,7 +121,7 @@ Scenarios in which you might need to update to cgroup v2 include the following:
## Learn more
* Read the [Kubernetes cgroup v2 documentation](/docs/concepts/architecture/cgroups)
* Read the [Kubernetes cgroup v2 documentation](/docs/concepts/architecture/cgroups/)
* Read the enhancement proposal, [KEP 2254](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/2254-cgroup-v2/README.md)
* Learn more about
[cgroups](https://man7.org/linux/man-pages/man7/cgroups.7.html) on Linux Manual Pages