写点什么

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

  • 2015-12-30
  • 本文字数:1400 字

    阅读完需:约 5 分钟

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

HyperHQ 在十月份发布了 Hypernetes。InfoQ 采访了该公司的前开发大使 Thibault Bronchain VisualOps 创始人兼 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 而不是 Mesos Swarm 的原因:

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

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

OpenStack 是一个用于构建和管理云的 IaaS 框架,Hypernetes 使用了它的部分组件。它使用 OpenStack 的身份和服务目录提供程序 Keystone 进行身份验证和授权。它还使用了其他的 OpenStack 组件,如用于存储的 Cinder Ceph ,用于网络管理的 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

2015-12-30 18:004711
用户头像

发布了 1008 篇内容, 共 389.4 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

为什么推荐一个容器只运行一个进程?

追赶者

k8s 为什么

项目上线后我是如何通过慢查询和索引让系统快起来的

做梦都在改BUG

MySQL 数据库 索引

BSN-DDC基础网络详解(三):注册门户账号和业务开通(1)

BSN研习社

MQTT QoS 0,1,2介绍

EMQ映云科技

物联网 IoT mqtt QoS 企业号 2 月 PK 榜

微服务-常见配置中心工作原理

做梦都在改BUG

Java 微服务 配置中心

软件测试/测试开发 | 想做App测试就一定要了解的App结构

测试人

软件测试 自动化测试 测试开发 app测试

聚焦中国大数据流程挖掘,这场发布会值得关注!

ToB行业头条

体验AI乐趣:基于AI Gallery二分类猫狗图片分类小数据集自动学习

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

热点面试题:JS 中 call, apply, bind 概念、用法、区别及实现?

Immerse

JavaScript call apply bind 前端面试题

Matic链矩阵公排智能合约挖矿dapp系统开发详情(案例演示)

开发微hkkf5566

软件测试/测试开发 | app测试中常用的Android模拟器

测试人

android 软件测试 自动化测试 测试开发

数仓在线运维:如何进行在线增删CN

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

苏宁基于 AI 和图技术的智能监控体系的建设

NebulaGraph

运维 图数据库

为什么面试 SaaS 产品经理一定要问权限管理?

产品海豚湾

产品经理 SaaS 权限管理 B端 产品面试

【NeurIPS 2022】视频动作识别,AFNet 用更低的成本接收更多数据

Zilliz

分布式事务系统Seata的这些安保机制是否会让你更放心

做梦都在改BUG

Java 分布式 Spring Boot seata

在TitanIDE中使用ChatGPT辅助科研开发

行云创新

AI 云端开发 TitanIDE

MQTT持久会话与Clean Session详解

EMQ映云科技

物联网 IoT mqtt 企业号 2 月 PK 榜 持久会话

墨天轮发布数据库行业报告,亚信科技AntDB“超融合+流式实时数仓”开启新纪元

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库 企业号 2 月 PK 榜

MQTT保留消息是什么?如何使用?

EMQ映云科技

物联网 IoT mqtt 企业号 2 月 PK 榜 保留消息

Apifox IDEA 插件 | 帮助开发者快速生成 API 文档

Apifox

IDEA idea插件 Apifox API文档 idea web

到底怎么理解分布式事务

做梦都在改BUG

京东力荐!深入理解高并发编程手册,GitHub上线3小时飙升榜首

做梦都在改BUG

Java 并发编程 高并发

华为云API Arts:用“1+1+5”的模式,为你带来API-First体验

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

修改ctags让fzf.vim插件显示C,C++方法声明的标签

Geek_pwdeic

ctags fzf.vim

袋鼠云高教行业数字化转型方案,推进数字化技术和学校教育教学深度融合 | 行业方案

袋鼠云数栈

大数据‘’

flutter系列之:在flutter中使用导航Navigator

程序那些事

flutter 大前端 程序那些事

带你动手设计一个高速公路多节点温度采集系统

华为云开发者联盟

云计算 物联网 华为云 企业号 2 月 PK 榜 华为云开发者联盟

佛萨奇2.0智能合约矩阵公排系统开发源代码(可改链)

开发微hkkf5566

Hypernetes实现多租户CaaS,且无需客户操作系统_Linux_Hrishikesh Barua_InfoQ精选文章