Hyper 基于hypervisor的docker引擎.pptx
-
Upload
xu-wang -
Category
Technology
-
view
102 -
download
8
Transcript of Hyper 基于hypervisor的docker引擎.pptx
Hyper: 基于虚拟化的Docker 引擎王旭
CTO & Cofounder, hyper.sh
Docker 热潮• 2015年4月14日,Docker获得D轮9500万美元融资
• 2015年4月6日,CoreOS 宣布获得 Google 领衔的1200万美元投资
• 2014年11月13日,亚马逊在 re:Invent 大会发布 Amazon EC2 Container Service (ECS)
• 2014年11月5日,谷歌发布 Google Container Engine (GKE)
• 2014年10月15日,微软和 Docker 宣布将合作把 Docker 移植到Windows上
• 2014年7月10日,微软宣布将与谷歌、Docker 合作,在 Azure 上支持 Kubernetes 和 libswarm
• 2014年6月9日,Docker 1.0 正式发布
• 2013年3月20日,Docker发布第一个版本
Docker的创新点在哪Docker 如此火爆,也把容器技术带到焦点,但是究竟什么引爆了 � Docker?
Docker = 容器?• 几种常见的容器技术:
Unix Chroot 1982
FreeBSD Jail 1998
Linux vserver 2001
Solaris Zone 2004
Linux OpenVZ 2005
Linux LXC 2008
来源:Wikipedia: Operating-system-level virtualization
Docker 究竟是什么
Docker Container (LXC)
Layered Image (aufs)
Docker 的核心在于以应用为中心• 一致性
– 开发-测试-交付 • 快速收敛
– 降低自动化困难 • 操作系统回归本原
– 应用与操作系统解耦
虚拟化技术走向何方?在Docker面前,上一个“银弹”……
虚拟化的问题
多年来,虚拟机一直致力于真实模拟硬件,并承载完整的操作系统,可这并不是我们真正要的
“虚拟机”的问题—— 不在“虚拟”而在于“机”
Hyper: 应用中心的虚拟化
既然虚机的问题在于没有做到“应用为中心”, 那么是否可以做面向应用的虚拟化呢?
Hyper 是什么
Hyper Hypervisor Docker Image
Hyper 如何工作
Light Kernel on Hypervisor
Initrd: Hyperstart
App (Docker Image)
App (Docker Image)
Hyperd
虚拟机
Hyper 命令行工具
Hyper 的性能与开销• 启动时间 (启动完整应用) – 350ms ( Xeon 1270
3.5GHz, 4-Core) – 500ms ( i3 5010U
2.1GHz 4-Core)
• 运行时 – CPU: 与宿主机接近 – IO:
WHY HYPER既然已经有容器,为什么还要用虚机
虚拟化 � vs. 容器• 公有容器服务
– 用户需要容器服务 – 隔离性:
• 虚拟化:独立内核、基于硬件辅助强隔离 • 容器:共享内核的弱隔离
• 既有系统 – 私有云中的已有大量虚拟机
• “Docker化”演进的需求 vs 已有虚拟化基础设施 – 已有硬件存储与网络解决方案
• OpenStack Cinder/Neutron
虚拟化 vs. 容器• 虚拟化
– 启动慢,几十秒很常见,几秒成为Feature – 体积大,镜像几GB很常见,几十GB不稀奇 – 不便携,不会被用于快速迭代的软件发布 – 强隔离 – 是一台“机器”,很多已有工具,网络、存储、在线迁移 – 可以使用自己的 kernel
• 容器 – 启动快,亚秒级启动时间 – 轻巧,几十到上百MB – 发布方便,封装应用用于发布 – 共享内核,弱隔离性 – 不是一台“机器”了,很多已有工具无法适用 – 仍然不够成熟
集二者之长而得 Hyper
OPENSTACK 何去何从?
手握 Hyper 回望: 基于虚机的 � OpenStack 云正面临着的挑战 —— 顺应发展,向容器靠拢,已有的虚机是否要彻底摒弃……
HyperStack• Hyper + OpenStack • Hyper 作为DCOS的调度单位
– Magnum 框架 – Mesos & Kubernetes
• OpenStack提供存储、网络等组件 – Neutron, Cinder 等标准API接口 – OpenStack 社区成熟的设备厂商支持
Q & A
Hyper开源项目• 主页与文档
– https://hyper.sh – https://hyper.sh/faq.html – https://docs.hyper.sh
• Github – https://github.com/hyperhq/hyper – https://github.com/hyperhq/hyperstart
Backup: More Features• Pod: group of apps, rather than OS • Change pod on the fly: eliminate the boot
time • Persistent mode: update pod without a VM
reboot • Kubernetes Pod Support