邱模炯:Container内核原理介绍

摘要: Container内核原理介绍,邱模炯 @ UCloud。

Container内核原理介绍,邱模炯 @ UCloud。


虚拟化技术:VM与Container

内容:
namespace
cgroup
aufs
两者对比


namespace:进程组虚拟化的手段

nsproxy相当于运行环境

mnt ns提供私有的rootfs

pid ns映射后的pid空间

net ns提供独立的网络栈

每一个ns
私有的网络设备
lo, veth等虚设备
物理网卡
独立的协议栈
ipv4, ipv6(含IP地址和路由表)
tcp, sctp, dccp
iptables规则
ipvs等


其他ns

uts, ipc
user ns
C1的1001 id和C2的1001不是同一
主要处理uid, gid, capabilities的虚拟化
3.8版本提交;需要文件系统配合,目前不完善
还有什么namespace没有实现?
time, device, security keys, security


namespace能做到什么?

虚拟机,但资源无保证
独立的mnt (chroot)
独立的pid空间
独立的网络协议栈
uts
uid, gid
ipc


cgroup: 资源隔离和统计

cgroup: 内存子系统接口

cgroup: 内存子系统原理

cgroup: CPU子系统接口

cgroup: CPU子系统原理

cgroup: 其它子系统


namespace + cgroup能做到?

aufs overview 

aufs: 原理

aufs: 有待完善

Container VS VM: 内核是运行环境的一部分

Container VS VM:应用场景