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之上,理由很简单:
-
Docker是基于Linux Container,正好运行在IaaS提供的VM里;
-
Container的隔离性不够,导致无法基于容器提供安全的多租户CaaS服务,只能根据VM对不同用户做隔离
- 基于Hyper的CaaS
种Kernel+Image的”固态”组合使得HyperVM和Docker容器一样,实现了Immutable Infrastructure的效果. 借助VM天然的隔离性,Hyper能够完全避免LXC共享内核的安全隐患。结合HyperVM”固态”的特性,这使得我们可以抛弃之前IaaS+VM+Agent+Container的思路重新思考CaaS:
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.
Why企业不怎么用
hyper的思想是很好,kernel+docker images能够解决安全问题,又能报保证环境一致性问题,但是貌似Pod都与mesos配合,那么集群网络问题怎么解决,直接依赖mesos???还不知道,毕竟现在才v0.5啊。