学习极客时间上的《深入剖析Kubernetes》
秉持眼过千遍不如手过一遍的原则.
对应章节:06 | 白话容器基础(二):隔离与限制
隔离与限制
cgroup的mount点
1 | $ mount -t cgroup |
查看CPU相关信息
1 | $ cd /sys/fs/cgroup |
在CPU目录下创建一个container目录
1 | $ mkdir container |
会看到创建目录后,会自动创建一堆文件
用一个while循环检测CPU使用状况
1 | $ while : ; do : ; done & |
在有的虚拟机上,你会看到CPU使用率不是99%,可能是50%,25%等,你可以思考一下这是为什么
使用container的cgroup对while循环进行资源限制
1 | $ echo 20000 > container/cpu.cfs_quota_us |
起一个容器看看
1 | $ docker run -it --cpu-period=100000 --cpu-quota=20000 ubuntu /bin/bash |
top对比
1 | # 容器中 |
可以看到容器内和容器外部看到的是一样的
总结
主要使用了cgroup对一个进程的CPU使用率进行了限制,通过了解进程的CPU使用率限制机制,了解docker通过cgroup对相关资源使用的限制