Post on 17-Aug-2015
关于⺩王旭
• Hyper联合创始⼈人、CTO
• 云计算、分布式存储、Hadoop、DevOps
• 中国移动研究院、盛⼤大云、VisualOps
• 《Cassandra权威指南》
• http://wangxu.me
Kubernetes, Pod, & Hyper
Craig Box from Google
http://www.slideshare.net/dataloop/craig-‐box-‐google-‐the-‐road-‐to-‐kubernetes-‐10
Why Hyper
•虚拟化 • 强隔离
• 是⼀一台“机器”,很多已有⼯工具,⺴⽹网络、存储、在线迁移
• 可以使⽤用⾃自⼰己的 kernel
• 启动慢,⼏几⼗十秒很常⻅见,⼏几秒成为Feature
• 体积⼤大,镜像⼏几GB很常⻅见,⼏几⼗十GB不稀奇
• 不便携,不会被⽤用于快速迭代的软件发布
•容器 • 启动快,亚秒级启动时间
• 轻巧,⼏几⼗十到上百MB
• 发布⽅方便,封装应⽤用⽤用于发布
• 共享内核,弱隔离性
• 不是⼀一台“机器”了,很多已有⼯工具⽆无法适⽤用
• 仍然不够成熟
Why Hyper
•虚拟化 • 强隔离
• 是⼀一台“机器”,很多已有⼯工具,⺴⽹网络、存储、在线迁移
• 可以使⽤用⾃自⼰己的 kernel
• 启动慢,⼏几⼗十秒很常⻅见,⼏几秒成为Feature
• 体积⼤大,镜像⼏几GB很常⻅见,⼏几⼗十GB不稀奇
• 不便携,不会被⽤用于快速迭代的软件发布
•容器 • 启动快,亚秒级启动时间
• 轻巧,⼏几⼗十到上百MB
• 发布⽅方便,封装应⽤用⽤用于发布
• 共享内核,弱隔离性
• 不是⼀一台“机器”了,很多已有⼯工具⽆无法适⽤用
• 仍然不够成熟集⼆二者之⻓长⽽而得 Hyper
Hyper的性能和开销
• 启动时间 (启动完整应⽤用) • 350ms ( Xeon 1270 3.5GHz, 4-
Core) • 500ms ( i3 5010U 2.1GHz 2-Core)
• 运⾏行时 • CPU: 与宿主机接近 • IO: 对⼤大部分云设备没有明显差异
Hyper 的⼯工作⽅方式
HyperdLight Kernel on Hypervisor
Initrd: Hyperstart
App (Docker Image)
App (Docker Image)
虚拟机
Light Kernel on Hypervisor
Initrd: Hyperstart
App (Docker Image)
App (Docker Image)
虚拟机Pod
物理机
CaaS:Container as a Service
• ⽤用户想要的是 Paas 还是 IaaS?
• AppCentric Container:⼀一个终结者
PaaS
IaaS
PaaS
IaaS
CaaS
Hyper:CaaS without IaaS
IaaS
DCOS DCOS
VM VM VM VM
ContainerContainerContainer
ContainerContainerContainer
ContainerContainerContainer
ContainerContainerContainer
CaaS
Hyper VM
Hyper VM
HyperStack
• Hyper + Kubernetes + Neutron + Cinder
• Hyper 作为DCOS的调度单位• Magnum: https://blueprints.launchpad.net/magnum/+spec/hyperstack
• Hyper 的 Kubernetes 集成
• Hyper使⽤用Neutron 和 Cinder • Neutron, Cinder 等标准API接⼝口
• OpenStack 社区成熟的设备⼚厂商⽀支持
HyperStack
Pod
Pod
Pod
Application
Pod
Pod
Pod
Application
VPC
HyperVMHyperVM
HyperVMStorage
VPC
HyperVMHyperVM
HyperVMStorage
应⽤用视图:
拓扑视图:
HyperStack
HyperVM HyperVM
HyperVM HyperVM
Hyp
erd
Host OS
k8s Kubelet
Cinder driver Neutron driver
HyperVM
HyperVM
物理机
k8s Scheduler (+mesos, +…)
Neutron
Cinder
Heat
Ironic
Magnum
Mgmt
Hyper 项⺫⽬目信息
• 主⻚页与⽂文档 • https://hyper.sh • https://hyper.sh/faq.html • https://docs.hyper.sh
• Github • https://github.com/hyperhq/hyper • https://github.com/hyperhq/hyperstart