Hypernetes实现多租户CaaS,且无需客户操作系统

Hypernetes使用一个最小Linux内核取代了虚拟机中的客户操作系统作为容器的宿主,这样就避免了运行全功能操作系统的开销。

\\

HyperHQ在十月份发布了Hypernetes。InfoQ采访了该公司的前开发大使Thibault BronchainVisualOps创始人兼Hyper投资人Peng Zhao,他们详细谈论了Hypernetes的工作原理。

\\

Hypernetes使用Hyper项目作为容器宿主,并使用了OpenStack(一种基础设施即服务软件)的一些组件和Kubernetes(一种管理Linux集群的框架)。Hypernetes由Kubernetes派生而来。

\\

Hypernetes的其中一个组件——Hyper项目——提供了一个裸机上的容器运行时。通常,容器要在虚拟机里的一个客户操作系统上启动。Hyper使用一个名为HyperKernel的小型Linux内核启动VM,将客户OS/VM层“扁平化”。这是Hyper与其他容器运行时的主要不同之处。关于这一点,Bronchain补充说:

\\
\

Hyper正是使用一个单独的Linux内核取代了“客户操作系统”。这样配置出来的VM是超轻量级的,而且配置非常快。它们的启动时间是亚秒级的,不会过多增加Linux容器的启动时间。

\
\\

在Hyper启动内核以后,名为HyperStart的初始化服务会创建一个Pod。一个Pod是一个容器镜像集合,而这些镜像是同一个逻辑组的一部分。这是从谷歌借用的一个概念。例如,在一个微服务架构中,一个Pod可能包含多个辅助程序,如日志和监控。Bronchain解释了他们选择Kubernetes而不是MesosSwarm的原因:

\\
\

我们认为,Kubernetes是最可靠、最容易使用的调度器。我们对使用其他调度器实现Hyper持开放态度,但我们仍然要制定我们的路线图。

\
\\

按照Bronchain的说法,可以使用其他任何Linux内核取代定制的Hyper内核,但目前并没有文档说明,而且也不容易做。

\\

OpenStack是一个用于构建和管理云的IaaS框架,Hypernetes使用了它的部分组件。它使用OpenStack的身份和服务目录提供程序Keystone进行身份验证和授权。它还使用了其他的OpenStack组件,如用于存储的CinderCeph,用于网络管理的Neutron。对于OpenStack而言,这是一个独特的用法,因为其组件通常都不在OpenStack部署之外使用。

\\

作为一个容器运行时,Docker已经成熟并被广泛采用。那么为什么会有人想要使用一种尚处于发展初期的替代方案呢?Zhao是这样说的:

\\
\

世界正在向公有云靠近。不管Linux容器的性能有多好,人们都是在虚拟机里运行容器。因此,使虚拟机像容器一样运行,以便简化基础设施栈,实现新服务,这是有意义的。而且,很难想象,在一个基于容器的公有云上,每个人都被迫使用一个单独的内核版本。

\
\\

在这个生态系统里还有其他的玩家,如Ubuntu的LXD就被称为“Linux容器管理程序”。在回答InfoQ关于Hypernetes与LXD相比怎么样的问题时,Zhao说:

\\
\

LXD仍然是基于Linux容器,但能够模拟一个完整的VM,并且具有额外的安全特性。不过,Hyper试图提供的是一种以应用为中心的Docker体验。虽然Hyper使用“管理程序(hypervisor)”,但它不会像一个完整的VM那样运行。

\
\\

另一个类似的产品是CoreOS,这是一个基于Linux的、轻量级的操作系统,专门设计用于托管使用诸如Docker、rkt这样的运行时的容器。不过,Hyper只启动一个最小的内核用于托管容器,而CoreOS是一个操作系统,内置支持服务发现,并且运行在上面的容器可以共享配置

\\

GitHub提供了Hypernetes的源代码以及部署说明

\\

查看英文原文:Hypernetes Enables Multi-Tenant CaaS Without a Guest OS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值