写点什么

Harvester Beta 版本发布,交付新一代超融合基础架构!

  • 2021-06-18
  • 本文字数:2408 字

    阅读完需:约 8 分钟

Harvester Beta版本发布,交付新一代超融合基础架构!

2020 年 12 月,Rancher 中国研发团队首次推出Harvester,这是一款通过 Kubernetes 构建的超融合基础架构开源软件。自此,我们收到了来自早期使用者的大量反馈。这些反馈充分帮助研发团队制定 Harvester 的发展路线。近日,Harvester 0.2.0 已经全新发布,正式进入 Beta 阶段!


原始块设备(Raw Block Device)支持

在 Harvester 0.2.0 中,我们增加了对原始块设备的支持。由于这是一个底层架构的变化,所以对于最终用户来说,这一更新不是十分明显。以下是关于这一特性的信息:

 

在 Harvester v0.1.0 中,从镜像到虚拟机的工作流如下:

 

  1. 用户添加一个新的 VM 镜像

  2. Harvester 将镜像下载到内置的 MinIO 对象存储中

  3. 用户使用该镜像创建一个新的 VM

  4. Harvester 从 MinIO 对象存储中复制镜像并创建一个新的 volume 卷

  5. 该镜像作为一个块设备呈现给 VM,但它作为文件存储在 Harvester 创建的 volume 中

 

这一工作方式存在一些问题:

 

  1. 由于文件系统层的开销,对 VM volume 的读/写操作需要转换为读/写镜像文件,与读/写原始块设备相比,其性能更差

  2. 如果一个 VM 镜像被不同的 VM 使用多次,它将会在集群中被复制多次。这是因为每个 VM 都有自己的 volume 副本,尽管大部分内容可能是相同的,因为它们来自同一个镜像。

  3. 对 MinIO 存储镜像的依赖导致 Harvester 需要保持 MinIO 的高可用性和可扩展性。这些要求给 Harvester 管理平面带来了额外的负担。

 

在 v0.2.0 中,我们采用另一种方式来解决这些问题,使得整个解决方案具有更好的性能和更少的重复数据:

 

  1. 现在我们为 VM 提供的是原始块设备,而不是文件系统上的镜像文件,这使得虚拟机的性能得到提高。

  2. 我们充分利用了 Longhorn v1.1.1 中 Backing 镜像的功能来减少 VM 镜像不必要的复制。现在 VM 镜像将作为一个只读层提供给所有使用它的 VM。Longhorn 现在负责在镜像之上创建另一个写时拷贝(copy-on-write)层,供虚拟机使用。

  3. 既然现在 Longhorn 开始使用 Backing 镜像功能来管理 VM 镜像,那么 MinIO 的依赖项将可以被移除。


Harvester 中的镜像

 

从用户体验的角度来看,你可能已经注意到,瞬间就能完成一个镜像的导入。而由于 Longhorn 中的镜像下载过程,启动一个基于新镜像的 VM 需要花费一点时间。不过,与之前的 v0.1.0 版本相比,使用相同镜像的虚拟机的启动时间将明显缩短,而且磁盘 IO 性能也会更好。

支持虚拟机实时迁移

为了让之后的升级过程更顺利,现在 Harvester v0.2.0 中支持虚拟机实时迁移。

 

虚拟机实时迁移可以让虚拟机从一个节点迁移到另一个节点,且没有任何停机时间。当你想在一个节点上进行维护工作或想在各节点上平衡工作负载时,大多会用到它。

 

值得注意的一点是,由于使用默认管理网络时,迁移后虚拟机的 IP 可能会发生变化,因此我们强烈建议使用 VLAN 网络而不是默认管理网络。否则,你可能在迁移到另一个节点后无法为虚拟机保持相同的 IP。

 

关于实时迁移的功能,你可以参阅以下链接:

https://docs.harvesterhci.io/v0.2/vm/live-migration/

虚拟机备份支持

在 Harvester v0.2.0 中我们添加了虚拟机备份支持。该备份支持功能为你提供了一种在集群外备份虚拟机镜像的方式。

 

要使用备份/存储功能,你需要一个与 S3 兼容的端点或 NFS server,备份的目的地将被称为备份目标。

 

你可以访问以下链接了解如何在 Harvester 中设置备份目标:

https://docs.harvesterhci.io/v0.2/vm/backup-restore/


在 Harvester 中轻松管理和操作你的虚拟机

 

与此同时,我们也在为虚拟机开发快照功能。与备份功能相反,快照功能将在集群内存储镜像状态,为虚拟机提供恢复快照的能力。与备份功能不同,快照不会将数据复制到集群外。因此,这将是一个实验性的方法,但如果你需要在集群发生故障时保障数据安全,这并不是理想方法。

支持 PXE Boot 安装

PXE boot 安装被广泛应用于数据中心,用所需的操作系统自动填充裸机节点。我们在 Harvester v0.2.0 中添加了这一功能,以帮助拥有大量服务器并希望获得完全自动化安装过程的用户。

 

如果你想了解更多如何在 Harvester 中使用 PXE boot 安装的信息,请参阅以下链接:https://docs.harvesterhci.io/v0.2/install/pxe-boot-install/

 

此外,我们还提供了一些在公有裸机云提供商上进行 iPXE 的例子,包括 Equinix Metal。更多信息,请访问以下链接:

https://github.com/harvester/ipxe-examples/blob/main/equinix/README.md

Rancher 集成

最后,在 Harvester v0.2.0 中现在内置了一个用于 Kubernetes 管理的 Rancher server。这是自我们宣布 Harvester v0.1.0 发布以来呼声最大的功能之一,我们非常高兴在 v0.2.0 中提供 Rancher 集成。

 

在 Harvester v0.2.0 中,你可以使用内置的 Rancher server 在你的 Harvester 裸机集群上创建 Kubernetes 集群。

 

要在 Harvester v0.2.0 中开始使用内置的 Rancher,进入“Settings”,然后将“rancher-enabled”选项设置为“true”。现在你应该能在 UI 的右上角看到一个 Rancher 按钮。点击该按钮即可访问 Rancher UI。

 

Harvester 和 Rancher 共享身份认证流程,所以一旦你登录到 Harvester,你不需要在 Rancher 中重新进行登录,反之亦然。

 

如果你想使用 Rancher 创建一个新的 Kubernetes 集群,你可以根据以下链接进行操作:

https://docs.harvesterhci.io/v0.2/rancher/node-driver/#create-cluster

 

值得注意的是,在 Harvester 之上创建 Kubernetes 集群时需要启用 VLAN 网络,因为默认的管理网络不能保证虚拟机有一个稳定的 IP,尤其是在重启或迁移之后。

未来规划

接下来,我们将发布 v0.3.0,这是 Harvester GA 前的最后一个版本。我们正在努力研发的 v0.3.0 中新增了许多亮点功能:

 

  • 内置负载均衡

  • 集成 Rancher 2.6

  • 采用一个为容器工作负载设计的小型操作系统

  • 支持多租户

  • 支持多磁盘

  • 支持 VM 快照

  • Terraform 应用支持

  • Guest Kubernetes 集群 CSI 驱动程序

  • 增强监控、日志功能


Harvester 秉承 100%开源的理念,欢迎下载体验。


Harvester GitHub:

https://github.com/harvester/harvester


Harvester 主页:

https://harvesterhci.io/


本文转载自:RancherLabs(ID:RancherLabs)

原文链接:Harvester Beta版本发布,交付新一代超融合基础架构!

2021-06-18 07:002234

评论

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

树莓派4B安装docker-compose(64位Linux)

程序员欣宸

Docker 10月月更 树莓派4

计算机体系结构“圣经”新版,图灵奖得主扛鼎之作,影响无数技术人

图灵教育

计算机体系结构 图灵奖

图解 | 聊聊 MyBatis 缓存

悟空聊架构

缓存 一级缓存 悟空聊架构 10月月更 myabtis

2022年8月银行APP月活跃人数盘点

易观分析

手机银行 8月

“程”风破浪的开发者|你真的会用Redis做消息队列吗

芥末拌个饭吧

学习方法 redis 底层原理 10月月更

数据湖(五):Hudi与Hive集成

Lansonli

10月月更 Hudi与Hive集成

创建容器镜像:如何编写正确、高效的Dockerfile

okokabcd

Docker

在线问题反馈模块实战(四):封装通用字段类

bug菌

springboot 项目实战 10月月更

“全球金牌课程”【11月CSM认证】国际Scrum联盟认证导师CST授课 | 火热报名中

ShineScrum

Scrum CSM 敏捷项目 ScrumMaster认证

【LeetCode】连续子数组的最大和Java题解

Albert

算法 LeetCode 10月月更

golang中的接口

六月的

golang interface

在线问题反馈模块实战(五):实现对通用字段内容自动填充功能

bug菌

springboot 项目实战 10月月更

群主发红包带你深入了解继承和super、this关键字

共饮一杯无

Java 关键字 10月月更

Redis的string内存消耗为何如此之大

芥末拌个饭吧

后端 redis 底层原理 10月月更

经历了6个月的失踪,我将带着干货终究归来!【RocketMQ入门到精通】

洛神灬殇

1024 10月月更

如果你看不懂别人画的 UML 类图,看这一篇文章就够了

跟着飞哥学编程

Java设计模式 10月月更 UML类图

第K个语法符号

掘金安东尼

算法 10月月更

数据中台坠落神坛,数据服务平台闪亮登场,阿里、快手又整烂活?

雨果

数据中台

Flash软件应用项目(三)

张立梵

设计师 Flash 10月月更

命名规范与原则

Appleex

代码人生 命名规范

华为云从入门到实战 | AI云开发ModelArts入门与WAF应用与部署

TiAmo

华为 华为云 云开发 10月月更

【一Go到底】第二十天---闭包

指剑

Go golang 10月月更

计算机体系结构“圣经”新版,图灵奖得主扛鼎之作,影响无数技术人

图灵社区

计算机体系结构

Redis哨兵机制了解一下

芥末拌个饭吧

后端 redis 底层原理 10月月更

在线问题反馈模块实战(六):接口文档定义

bug菌

springboot 项目实战 10月月更

Linux下内存空间分配、物理地址与虚拟地址映射

DS小龙哥

10月月更

HashMap源码分析(二)

知识浅谈

hashmap 10月月更

基于强化学习的测试日志智能分析实践

华为云开发者联盟

人工智能 测试 华为云 强化学习 企业号十月 PK 榜

Photoshop软件应用项目(三)

张立梵

设计师 ps 10月月更

golang中的init初始化函数

六月的

golang init

优雅代码的秘密,都藏在这6个设计原则中

小小怪下士

Java 接口

Harvester Beta版本发布,交付新一代超融合基础架构!_语言 & 开发_Rancher_InfoQ精选文章