21
Hyper: 基于虚拟化的Docker 引擎 王旭 CTO & Cofounder, hyper.sh

Hyper 基于hypervisor的docker引擎.pptx

  • Upload
    xu-wang

  • View
    102

  • Download
    8

Embed Size (px)

Citation preview

Page 1: Hyper 基于hypervisor的docker引擎.pptx

Hyper: 基于虚拟化的Docker 引擎王旭

CTO & Cofounder, hyper.sh

Page 2: Hyper 基于hypervisor的docker引擎.pptx

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发布第一个版本

Page 3: Hyper 基于hypervisor的docker引擎.pptx

Docker的创新点在哪Docker 如此火爆,也把容器技术带到焦点,但是究竟什么引爆了 � Docker?

Page 4: Hyper 基于hypervisor的docker引擎.pptx

Docker = 容器?•  几种常见的容器技术:

Unix Chroot 1982

FreeBSD Jail 1998

Linux vserver 2001

Solaris Zone 2004

Linux OpenVZ 2005

Linux LXC 2008

来源:Wikipedia: Operating-system-level virtualization

Page 5: Hyper 基于hypervisor的docker引擎.pptx

Docker 究竟是什么

Docker Container (LXC)

Layered Image (aufs)

Page 6: Hyper 基于hypervisor的docker引擎.pptx

Docker 的核心在于以应用为中心•  一致性

– 开发-测试-交付 •  快速收敛

– 降低自动化困难 •  操作系统回归本原

– 应用与操作系统解耦

Page 7: Hyper 基于hypervisor的docker引擎.pptx

虚拟化技术走向何方?在Docker面前,上一个“银弹”……

Page 8: Hyper 基于hypervisor的docker引擎.pptx

虚拟化的问题

多年来,虚拟机一直致力于真实模拟硬件,并承载完整的操作系统,可这并不是我们真正要的

“虚拟机”的问题—— 不在“虚拟”而在于“机”

Page 9: Hyper 基于hypervisor的docker引擎.pptx

Hyper: 应用中心的虚拟化

既然虚机的问题在于没有做到“应用为中心”, 那么是否可以做面向应用的虚拟化呢?

Page 10: Hyper 基于hypervisor的docker引擎.pptx

Hyper 是什么

Hyper Hypervisor Docker Image

Page 11: Hyper 基于hypervisor的docker引擎.pptx

Hyper 如何工作

Light Kernel on Hypervisor

Initrd: Hyperstart

App (Docker Image)

App (Docker Image)

Hyperd

虚拟机

Page 12: Hyper 基于hypervisor的docker引擎.pptx

Hyper 命令行工具

Page 13: Hyper 基于hypervisor的docker引擎.pptx

Hyper 的性能与开销•  启动时间 (启动完整应用) –  350ms ( Xeon 1270

3.5GHz, 4-Core) –  500ms ( i3 5010U

2.1GHz 4-Core)

•  运行时 –  CPU: 与宿主机接近 –  IO:

Page 14: Hyper 基于hypervisor的docker引擎.pptx

WHY HYPER既然已经有容器,为什么还要用虚机

Page 15: Hyper 基于hypervisor的docker引擎.pptx

虚拟化 � vs. 容器•  公有容器服务

–  用户需要容器服务 –  隔离性:

•  虚拟化:独立内核、基于硬件辅助强隔离 •  容器:共享内核的弱隔离

•  既有系统 –  私有云中的已有大量虚拟机

•  “Docker化”演进的需求 vs 已有虚拟化基础设施 –  已有硬件存储与网络解决方案

•  OpenStack Cinder/Neutron

Page 16: Hyper 基于hypervisor的docker引擎.pptx

虚拟化 vs. 容器•  虚拟化

–  启动慢,几十秒很常见,几秒成为Feature –  体积大,镜像几GB很常见,几十GB不稀奇 –  不便携,不会被用于快速迭代的软件发布 –  强隔离 –  是一台“机器”,很多已有工具,网络、存储、在线迁移 –  可以使用自己的 kernel

•  容器 –  启动快,亚秒级启动时间 –  轻巧,几十到上百MB –  发布方便,封装应用用于发布 –  共享内核,弱隔离性 –  不是一台“机器”了,很多已有工具无法适用 –  仍然不够成熟

集二者之长而得 Hyper

Page 17: Hyper 基于hypervisor的docker引擎.pptx

OPENSTACK 何去何从?

手握 Hyper 回望: 基于虚机的 � OpenStack 云正面临着的挑战 —— 顺应发展,向容器靠拢,已有的虚机是否要彻底摒弃……

Page 18: Hyper 基于hypervisor的docker引擎.pptx

HyperStack•  Hyper + OpenStack •  Hyper 作为DCOS的调度单位

– Magnum 框架 – Mesos & Kubernetes

•  OpenStack提供存储、网络等组件 – Neutron, Cinder 等标准API接口 – OpenStack 社区成熟的设备厂商支持

Page 19: Hyper 基于hypervisor的docker引擎.pptx

Q & A

Page 20: Hyper 基于hypervisor的docker引擎.pptx

Hyper开源项目•  主页与文档

– https://hyper.sh – https://hyper.sh/faq.html – https://docs.hyper.sh

•  Github – https://github.com/hyperhq/hyper – https://github.com/hyperhq/hyperstart

Page 21: Hyper 基于hypervisor的docker引擎.pptx

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