QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:004763
用户头像

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

关注

评论

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

你的终端从未如此高效

Kareza

3月日更 Oh My Zsh

对标阿里P7Java架构师面试题,已助我拿下字节、蚂蚁、滴滴三家Offer

Java架构之路

Java 程序员 架构 面试 编程语言

叹服!微软自爆虐心405页程序员面试通关手册,Github上已获赞75.6K

Java架构之路

Java 程序员 架构 面试 编程语言

嵌入式技术与人工智能有什么关系?

cdhqyj

人工智能 嵌入式 系统 科技

并发编程-原子操作CAS

赖猫

c++ 高并发 并发 CAS Linux服务器开发

Linux 高并发服务器 select/poll实现

赖猫

Linux linux编程 linux开发 Linux服务器开发

寻找被遗忘的勇气(十二)

Changing Lin

3月日更

安卓系统开发架构!5214页PDF的进阶架构师学习笔记,成功入职腾讯

欢喜学安卓

android 程序员 面试 移动开发

OpenKruise v0.8.0 版本发布:K8s 社区首个规模化镜像预热能力

阿里巴巴云原生

容器 云原生 k8s 安全 应用服务中间件

为啥你一入场就开始跌呢?聊聊长期主义

池建强

长期主义

San CLI 的实现原理

百度Geek说

cli service san command

对标阿里P9Java架构师面试题,已助我拿下字节、蚂蚁、滴滴三家Offer

Java架构追梦

Java 阿里巴巴 架构 面试 滴滴

细粒度授权在安全领域的重要性

龙归科技

安全 iam 细粒度 ABAC PBAC

数字孪生技术如何实现复制世界?关键的关键是…

华为云开发者联盟

数据中心 数字孪生 节能 仿真 数据中心网图服务

融云即时通讯SDK集成 -- 国内厂商推送集成踩坑篇(Android平台)

融云 RongCloud

即时通讯

【数独问题】经典面试题:解数独 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

2月大事件:度目CM-Mini智能面板机全新发布,飞桨PaddleGAN“复活”李焕英

百度大脑

百度 百度大脑

你的终端从未如此优雅

Kareza

终端工具 3月日更 Hyper

知道Python中的字符串是什么吗?

华为云开发者联盟

Python 编程语言 字符串 字符

谷歌大脑团队官方推荐,用浏览器实现深度学习的「黑科技」教程来了!

图灵社区

JavaScript 人工智能 机器学习 深度学习 大前端

融云即时通讯SDK集成 -- FCM推送集成指南(Android平台)

融云 RongCloud

即时通讯

WebRTC服务器模型

赖猫

音视频 WebRTC

融云集成之避坑指南-Android推送篇

融云 RongCloud

音视频

技术债是什么、怎么还?你想知道的都在这一篇文章里了!

禅道项目管理

技术 技术债 问题

融云 IM SDK 转 AndroidX

融云 RongCloud

IM

写作的意义

ES_her0

28天写作 3月日更

Redis和Memcached的区别

赖猫

redis memcached 服务器开发 Linux服务器开发

安卓应用程序开发理论!免费Android高级工程师学习资源,附面试题答案

欢喜学安卓

android 程序员 面试 移动开发

与前端训练营的日子 -- Week19

SamGo

学习

助我拿到37KOffer,这份阿里巴巴890页Redis笔记可谓功不可没

Java架构之路

Java 程序员 架构 面试 编程语言

DataPipeline亮相“2021科技助力湾区数字金融发展峰会”,解锁“实时数据管理”密码

DataPipeline数见科技

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