一、功能简介
注意:说明:
注意:推荐使用 systemd cgroup driver。在使用 systemd 作为 init 系统的操作系统(如 TencentOS、Ubuntu)上,systemd 是默认驱动,可以避免系统中存在两个 cgroup 管理器。
二、适用范围
·TKE 标准集群(普通节点池)。
·支持 Kubernetes 1.22 及以上版本。
三、前提条件
·已创建 TKE 标准集群。详情请参见 快速创建一个标准集群。
·已确认集群所使用的容器运行时版本支持对应的 cgroup driver。可在节点池创建页面的运行时组件处查看当前节点池使用的容器运行时(docker 或 containerd),并参考这篇 cgroup driver 模式说明 选择合适的驱动。
四、通过控制台配置 cgroup driver
通过在节点池的 kubelet 自定义参数中指定 –cgroup-driver 参数,可以配置节点的 cgroup driver 模式。
1. 登录 容器服务控制台,进入目标集群。
2. 在左侧导航中,选择节点管理 > 节点池,单击新建节点池。
3. 在节点池配置页面,展开高级设置,找到 Kubelet 自定义参数配置项。
4. 在 kubelet 自定义参数输入框中,填写以下参数(根据需要选择驱动模式):
·使用 systemd 驱动:–cgroup-driver=systemd
·使用 cgroupfs 驱动:–cgroup-driver=cgroupfs
5. 完成其他节点池配置后,单击完成,等待节点池创建完成。
五、cgroup driver 模式说明
| 驱动模式 | 说明 |
| systemd | 由 systemd 统一管理 cgroup,推荐在使用 systemd init 的系统上选择。 |
| cgroupfs | 由容器运行时直接操作 cgroup 文件系统,兼容性更广。 |
六、注意事项
·变更已有节点:修改节点池的 cgroup driver 配置仅对新加入节点生效,不会影响已有节点。如需对已有节点生效,需移出节点后重新加入,或通过初始化脚本手动调整。
·cgroup driver 一致性:集群中的 kubelet 与容器运行时需使用相同的 cgroup driver,否则会导致 kubelet 启动失败。
·cgroupv2 兼容性:TencentOS 4.x 及部分 Linux 内核版本默认使用 cgroupv2,建议配合 systemd cgroup driver 使用。