添加CGroup V2节点
更新时间:2024-06-11
Kubernetes采用CGroup实现容器的资源隔离。CGroup V2统一了访问资源的路径,支持Pod级别的资源监控、网络重定向,同时在跨多资源协调上具备更强的资源隔离能力。本文将介绍如何在CCE控制台添加CGroup V2节点。
背景信息
Kubernetes采用CGroup实现容器的资源隔离。CGroup分为V1和V2版本,V2版本提供了更一致的体验和更丰富的功能。主要特性如下:
- 统一了访问资源的路径,各种资源处于统一路径下。
- 新增PSI等功能特性。
- 支持CGroup级别的eBPF挂载,可以实现Pod级别的资源监控、网络重定向等。
-
在跨多资源协调上具备更强的资源隔离能力。
- 统一地管理各种类型的内存分配,例如网络内存、Kernel内存等。
- 支持异步资源变化的统计,例如通过Page Cache的Write-back统计实现异步IO的限制。
Kubernetes在V1.18中alpha支持CGroup V2,在V1.22中beta支持CGroup V2,在V1.25中GA支持CGroup V2。具体信息,请参见About cgroup v2。
使用限制
-
目前仅支持ubuntu 22.04和BaiduLinux 3.0,使用方式如下:
- ubuntu 22.04默认为CGroup V2,可直接在控制台选择使用;
- BaiduLinux 3.0默认为CGroup V1,可以使用BaiduLinux 3.0作为基础镜像来构建支持CGroup V2的自定义镜像。
- Kubernetes版本大于或等于1.24。
操作步骤
手动添加CGroup V2节点
- 登录百度智能云管理控制台,进入产品服务>云原生>容器引擎 CCE,单击集群管理>集群列表,单击目标集群名称,进入"集群详情"页,在侧边栏单击节点管理>Worker。
- 在节点列表中单击添加节点操作,在节点配置选择公共镜像 ubuntu 22.04或选择目标自定义镜像。
- 完成添加节点其他配置。
通过节点组扩容CGroup V2节点
- 登录百度智能云管理控制台,进入产品服务>云原生>容器引擎 CCE,单击集群管理>集群列表,单击目标集群名称,进入"集群详情"页,在侧边栏单击节点管理>节点组。
- 在节点组列表中单击创建节点组操作,在节点配置选择公共镜像 ubuntu 22.04或选择目标自定义镜像。
- 完成创建节点组其他配置。
验证CGroup V2
登录集群节点,执行如下命令查看CGroup类型。验证集群中的节点是否采用了CGroup V2。
df -T /sys/fs/cgroup
预期结果:
Filesystem Type 1K-blocks Used Available Use% Mounted on
cgroup2 cgroup2 0 0 0 - /sys/fs/cgroup
表示集群中的节点采用了CGroup V2。