CSDN话题挑战赛第2期
参赛话题:万家争鸣的云计算修罗场
我想分享的云计算技能/知识点
深入了解Cgroup
该技能/知识点的背景介绍
在主流Linux发行版下,可以通过/etc/cgconfig.conf或者cgroup-bin的相关指令来配置Cgroup: mount
cpuset = /sys/fs/cgroup/cpuset;
momory = /sys/fs/cgroup/momory;
}
group cnsworder/test {
perm (
task (
uid = root;
gid = root;
}
admin {
uid = root;
gid = root;
}
}
epu (
cpu.shares = 1000;
}
}
然后通过命令行把ー个进程移动到这个Cgrop中:
该技能/知识点实际运用
上面两节只是非常简单地了解了 Namespace和Cgro叩两个概念,实际上像各个Namespace的具 体介绍与各个Cgro叩子系统的介绍都没有深入讲解,但通过上面两节的学习,相信读者脑海中已经 大致有了容器创建过程的雏形。
e系统调用clone创建新进程,拥有自己的Namespace〇
该进程拥有自 こ的 pid、mount、user、net、ipc、uts namespaceo root@ops-adm[n:~# pid =clone(fun,stack, flags,clone_arg);
•如将pid写入cgro叩子系统,就受到cgroup子系统的控制。
echo$pid >/sys/fs/cgroup/epu/tasks
echo$pid '>/sys/fs/cgroup/feezer/tasks
•通过pivot root系统调用,使进程进入ー个新的rootfs,之后通过exec系统调用在新的 Namespace、cgroup、rootfs 中执仃リbin/bash”。
fun {
pivot_root("path_of_rootfs/", path); exec(”/bin/bash”);
)
总结
Docker 是ー个开源的应用容器引擎,开发者可以打包它们的应用以及仰仗包到ー个可移植的容器中,然后 发布到主流的Linuxs MacOS、Windows机器上,以便实现虚拟化。
Docker是ー个重新定义了程序开发测试、交付和部署过程的开放平台。在Docker的世界里,容 器就是集装箱,我们的代码都被打包到集装箱里;Docker就是集船坞、货轮、装卸、搬运于一体的 平台,帮你把应用软件运输到世界各地,并迅速部署