systemd与cgroupfs

systemd与cgroupfs都是CGroup管理器。systemd是大多数Linux发行版原生的。当选择systemd作为Linux发行版的init system时,init proccess生成并使用root控制组

(/sys/fs/cgroup),并充当CGroup管理器。systemd与CGroup紧密集成,并为每个system unit分配一个CGroup。

在部署kubernetes集群时候,如果将docker runtime与kubelet的CGroup驱动配置为cgroupfs,与systemd一起使用则意味着系统中存在两个CGroup管理器。单个

CGroup管理器简化了资源分配视图,并且默认情况下对可用和正在使用的资源有一致的视图。但当一个系统上有两个CGroup管理器时,将得到两个资源视图,这样在资源紧张时,系统将变得不稳定。

1,更改docker runtime的CGroup驱动

{
    "exec-opts": ["native.cgroupdriver=systemd"]
}

2,更改kubelet的CGroup驱动(配置文件位于/var/lib/kubelet/config.yaml)

posted @ 2021-11-10 11:52  Sai1987  阅读(989)  评论(0)    收藏  举报