Subscribe to the feed

We are happy to announce that cgroup v2 is GA in OpenShift 4.13. It is not the default but can be picked at cluster installation time. See the OpenShift documentation to understand how to enable it on a cluster.

About cgroup v2

On Linux, control groups constrain resources that are allocated to processes.

The kubelet and the underlying container runtime (CRI-O) interface with cgroup to enforce resource management for pods and containers which includes cpu/memory requests and limits for containerized workloads.

There are two versions of cgroup in the Linux kernel: cgroup v1 and cgroup v2. cgroup v2 is the new generation of the cgroup API. Kubernetes took time in switching to v2 as it was waiting for the container runtimes to implement cgroup v2 support. It went GA in 1.25 in kubernetes upstream.

What is cgroup v2?

FEATURE STATE: OpenShift 4.13  [GA as non default]

Cgroup v2 is the next version of the Linux cgroup API. Cgroup v2 provides a unified control system with enhanced resource management capabilities.

Cgroup v2 offers several improvements over cgroup v1, such as the following:

  • Next generation of cgroups in the kernel. All new development happens in v2. 
  • Better node stability under OOM pressure scenarios.
  • Better page cache write-back accounting.
  • Current implementation in kubernetes and OpenShift is a 1:1 with v1 but it opens the door to start consuming new v2 specific features.

Upcoming Kubernetes features exclusively use cgroup v2 for enhanced resource management and isolation. For example, the MemoryQoS feature improves memory QoS and relies on newer cgroup v2 primitives. Other  improvements such as PSI and user space OOM Killer implementations are possible with cgroup v2. We continue to work on kubernetes upstream to add these features and make them available on OpenShift.

Conclusion 

We have seen better node stability with cgroup v2 when there is i/o pressure due to throttling. On cgroup v1 such nodes will go not ready but the node stays stable on v2. 

We highly recommend that most users switch to cgroup v2 as that’s where bug fixes and improvements will continue to land. Telco customers using the real time kernel or using the cpu load balancing disabled should continue to stay on v1 as we work to get those use cases  better covered with v2 in the kernel and in OpenShift.


关于作者

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事