邱模炯:Container核心原理介紹
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: CPU子系統介面
cgroup: CPU子系統原理
cgroup: 其它子系統
namespace + cgroup能做到?
aufs overview
aufs: 原理
aufs: 有待完善
Container VS VM: 核心是執行環境的一部分
Container VS VM:應用場景