A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuqiong 金牌黑马   /  2018-7-16 09:14  /  854 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.配置kubelet启动参数

将以下内容添加到kubelet的启动参数中:

--kube-reserved cpu=200m,memory=512M \
--kube-reserved-cgroup=/system.slice/kubelet.service \
--system-reserved cpu=1,memory=2Gi,ephemeral-storage=10Gi \
--system-reserved-cgroup=/system.slice \
--cgroup-driver=cgroupfs --eviction-hard=memory.available<500Mi,nodefs.available<10%

2.修改系统systemd配置文件

vim /etc/systemd/system.conf

    #JoinControllers=cpu,cpuacct net_cls,net_prio
    JoinControllers=cpu,cpuacct,cpuset,net_cls,net_prio,memory

备注:
初始情况下系统默认并没有加入cpuset的controller,所以需要修改此选项,修改完后, 重新生成 initrd(重启)

3.为system.slice创建cpuset子系统

mkdir -p /sys/fs/cgroup/cpuset/system.slice
1
备注:
可以看到未创建前system.slice这个cgroup是没有cpuset的子系统的:

find /sys/fs/cgroup -name system.slice
    /sys/fs/cgroup/devices/system.slice
    /sys/fs/cgroup/memory/system.slice
    /sys/fs/cgroup/blkio/system.slice
    /sys/fs/cgroup/cpu,cpuacct/system.slice
    /sys/fs/cgroup/systemd/system.slice

所以需要这一步手工创建,否则启动kubelet会报找不到相应cgroup的错误。

4.为kubelet.service创建cpuset子系统

mkdir -p /sys/fs/cgroup/cpuset/system.slice/kubelet.service
1
备注:
可以看到未创建前是没有kubelet相关的子系统的:

find /sys/fs/cgroup -name kubelet.service
    /sys/fs/cgroup/devices/system.slice/kubelet.service
    /sys/fs/cgroup/memory/system.slice/kubelet.service
    /sys/fs/cgroup/blkio/system.slice/kubelet.service
    /sys/fs/cgroup/cpu,cpuacct/system.slice/kubelet.service
    /sys/fs/cgroup/systemd/system.slice/kubelet.service

所以需要这一步手工创建,否则启动kubelet会报找不到相应cgroup的错误。

5.重启kubelet

以上这些都做好后,重启kubelet服务即可

6.具体原理稍后整理

4 个回复

倒序浏览
奈斯
回复 使用道具 举报
牛牛牛!
回复 使用道具 举报
回复 使用道具 举报

优秀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马