Maorongrong smile like sunshine

谈谈Hyper(不是Hyper_v)

2016-08-09

Hyper的最新进展没关注了。

Hyper.sh官网 官网:About Hyper

前言

之前在内核恐慌中听过Hyper,被他的特性惊艳到了。既然可以在虚拟机上运行容器镜像,虚拟机的绝对隔离完美解决了docker引擎与主机内核share kernel造成潜在的不安全因素,又可以在hyper_这个docker引擎提到引擎,可以运行docker镜像,解决持续开发集成的环境一致性问题。关键是,虚拟机启动从原来的分钟级直降到秒级,有木有很赞啊!(这是我最初的认识)

后来一直在想,企业(好像cisco)里直接是physic+docker拉上去用。辣么,安全隐患不能忽略,咋不直接用Hyper???我就这么傻傻的想,差点把脸丢大发了,没纸爱脸啊!

Hyper不是Hyper_V

Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。这也意味着微软会更加直接地与市场先行者VMware展开竞争,但竞争的方式会有所不同。 Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化[1] 。Hyper-V最初预定在2008年第一季度,与Windows Server 2008同时发布。Hyper-V Server 2012完成RTM版发布。

接下来说说猪蹄,hyper.sh

HyperHQ公司的开源项目Hyper,是一个可以在hypervisor上运行Docker镜像的引擎。Hyper与Docker的核心区别在于Hyper没有使用Container技术,而是通过VM直接运行Docker镜像,它是一个完全基于虚拟化的解决方案。它可以使用任意的hypervisor(KVM,Xen,VMWare等等)直接运行Docker镜像. Hyper:基于Hypervisor的容器化解决方案

Hyper与docker

hyper=hypervisor+kernel+docker images docker=LXC+docker images

  • IaaS + PaaS –> CaaS >CaaS已经彻底取代了传统的PaaS(Heroku,CloudFoundry), 成为了社区和Startup圈子的关注点。但无论是Google GKE, AWS ECS, 还是Tutum,GiantSwarm等等,目前CaaS大多是建立在IaaS之上,理由很简单:
  1. Docker是基于Linux Container,正好运行在IaaS提供的VM里;

  2. Container的隔离性不够,导致无法基于容器提供安全的多租户CaaS服务,只能根据VM对不同用户做隔离

1.jpg-48.4kB

  • 基于Hyper的CaaS

种Kernel+Image的”固态”组合使得HyperVM和Docker容器一样,实现了Immutable Infrastructure的效果. 借助VM天然的隔离性,Hyper能够完全避免LXC共享内核的安全隐患。结合HyperVM”固态”的特性,这使得我们可以抛弃之前IaaS+VM+Agent+Container的思路重新思考CaaS:

2.jpg-46.3kB

Hyper架构

Internal to the HyperVM, a minimalist Linux kernel, called HyperKernel, is booted. The kernel employs a tiny Init service, called HyperStart to load the Docker images from the host, setup MNT namespace to isolate their filesystems, and launch them. hyper.png-62.6kB

Why企业不怎么用

hyper的思想是很好,kernel+docker images能够解决安全问题,又能报保证环境一致性问题,但是貌似Pod都与mesos配合,那么集群网络问题怎么解决,直接依赖mesos???还不知道,毕竟现在才v0.5啊。

下一篇 Open vSwitch

Comments