从零开始入门 K8s:深入剖析 Linux 容器( 六 )
这里我们简单用 unshare 示例一下 namespace 创立的过程 。 容器中 namespace 的创建其实都是用 unshare 这个系统调用来创建的 。
上图上半部分是 unshare 使用的一个例子 , 下半部分是我实际用 unshare 这个命令去创建的一个 pid namespace 。 可以看到这个 bash 进程已经是在一个新的 pid namespace 里面 , 然后 ps 看到这个 bash 的 pid 现在是 1 , 说明它是一个新的 pid namespace 。
cgroup
两种 cgroup 驱动
cgroup 主要是做资源限制的 , docker 容器有两种 cgroup
驱动:一种是 systemd 的 , 另外一种是 cgroupfs 的 。
cgroupfs 比较好理解 。 比如说要限制内存是多少、要用 CPU share 为多少?其实直接把 pid 写入对应的一个 cgroup 文件 , 然后把对应需要限制的资源也写入相应的 memory cgroup 文件和 CPU 的 cgroup 文件就可以了;
另外一个是 systemd 的一个 cgroup 驱动 。 这个驱动是因为 systemd 本身可以提供一个 cgroup 管理方式 。 所以如果用 systemd 做 cgroup 驱动的话 , 所有的写 cgroup 操作都必须通过 systemd 的接口来完成 , 不能手动更改 cgroup 的文件 。
推荐阅读
- 手机游戏|LOL手游福利送完,开始努力割韭菜?新皮肤玉剑传说即将上线
- 侠盗猎车手4|LOL转会期开始!小虎去留成谜,滔博,FPX和RNG大概率拆队重建?
- DOTA|48岁阿姨:如果你最开始接触的是DOTA,就很难再喜欢别的游戏了!
- 原神|原神:为啥这4个角色,前期被玩家称为真神,后期却开始无人问津
- ig|Dota2-刀圈地震来了?继小象宣布解散后,iG领队也开始“暗示”了
- 成吉思汗|16号2款新皮上线,新英雄开始预热,澜新传说巨帅,成吉思汗哭了
- 电子竞技|武将外号,你都知道几个?老玩家:这不是我先开始这么叫的吗!
- 金铲铲之战|为了防腾讯米哈游抢人,游戏厂商也开始内卷,育碧竟被偷家?
- 梦幻西游|梦幻西游:战神阿轩开启梦幻新玩法!放弃强P,开始升堂审案,为民做主?
- 吃鸡游戏|之前是“吃鸡”大主播,现成功转战联盟,为何越来越多主播开始转型?