HCI 解决方案对比:Harvester 和 OpenStack Kubernetes
介绍
以安全、敏捷且高效的方式管理资源一直是一个难题,因此,Openstack 和 Harvester 等解决方案将硬件基础设施作为本地云基础设施来处理,让用户更灵活地管理存储、计算和网络资源,而不是仅在单个硬件上部署应用程序。
Openstack 和 Harvester 都有自己的用例。本文从基础设施管理、资源管理、部署和可用性这几个维度分析了 OpenStack 和 Harvester 的区别,旨在帮您找到满足需求的最佳方案。
云管理指的是如何管理数据中心资源(存储、计算和网络资源)。Openstack 提供了管理这些资源的方法,并为管理员提供了用于创建虚拟机的仪表板以及管理网络和存储层的其它工具。
虽然 Harvester 和 OpenStack 都用于创建云环境,但是本文讨论的是二者的不同之处。
根据 OpenStack 产品文档,OpenStack<sup>[1]</sup>是一个云操作系统,它能通过仪表板管理整个数据中心的大量计算、存储和网络资源,管理员能够控制该仪表板,同时能让用户通过 Web 界面配置资源。
Harvester 是专为现代云原生环境设计的下一代开源超融合基础架构(HCI)解决方案,使用 KubeVirt <sup>[2]</sup>技术来提供具备 Kubernetes 优势的云管理能力。Harvester 能帮助操作人员整合和简化 Kubernetes 集群的虚拟机工作负载。
架构
OpenStack 提供用来创建 controlplane 和配置基础设施的服务,而 Harvester 则使用以下技术提供所需的堆栈:
Harvester 通过 ISO 或 PXE 作为节点操作系统安装,它使用 RKE2 作为 SUSE Linux Enterprise Server 上的容器编排器,提供 Longhorn 分布式存储和 KubeVirt 虚拟化功能。
API
无论是生产环境还是测试环境,API 的使用对编程交互、自动化和新功能实现的影响都是非常大的。
Openstack 在每个服务中都为功能提供了多个 API,用于在外部提供存储、管理、身份验证等功能。文档<sup>[3]</sup>的逻辑架构概述了 API 的实现:
您可以在上图加粗部分看到生产环境中 Openstack 提供的 API。
虽然 OpenStack 很复杂,但是它支持高级别的自定义设置。
另一方面,Harvester 使用 Kubernetes 进行虚拟化并使用 Longhorn 进行存储,因此会使用它们的 API 并从容器化架构的角度进行高级自定义设置。您也可以通过 K8s CustomResourceDefinitions 来轻松扩展和迁移 Harvester。
在网络层面上,Harvester 仅支持通过 VLAN(网桥)和 NIC 绑定。交换机和高级网络设置不在 Harvester 范畴内。
OpenStack 可以提供多种高级和专门的网络配置。
部署
OpenStack 在裸机服务器上提供了多种服务,包括安装软件包和库,配置文件以及准备要添加到 OpenStack 的服务器。
Harvester 提供了一个能安装到裸机服务器上的预配置 ISO 镜像。
您只需安装(或使用 PXE)镜像,然后节点就可以添加到集群,因此节点扩缩更加快捷、安全和灵活。
节点类型
OpenStack 要求最少包括两个节点,分别是一个 controller 节点(用于管理资源并为环境提供所需的 API 和服务)和一个计算节点(用于承载管理员创建的资源)。
要在生产架构中受到支持,controller 节点的角色将不变。
Harvester 节点是可互换的。Harvester 可以在 all-in-one 模式下部署,而且 controller 节点也将作为计算节点,因此 Harvester 是 Edge 架构不错的选择。
集群管理
Harvester 与 Rancher 完全集成,因此您可以轻松添加和删除节点。不需要预先配置新的计算节点或处理工作负载(Rancher 会管理集群)。
Harvester 可以从单个节点开始(也称为 all-in-one),该节点作为计算节点和单节点 controlplane。而 Longhorn 作为 Harvester 的一部分部署并提供存储层。当集群节点数量达到 3 时,Harvester 将重新配置,从而在不中断的情况下提供 HA 功能,而节点可以根据需要升级到 controlplane 或降级。
在 OpenStack 中,由于节点随时准备添加到集群,因此角色(计算、controller 等)是锁定的。
操作
就操作处理方面,Harvester 使用 Rancher 进行身份验证、授权和集群管理。
由于 Harvester 集成了 Rancher,因此您可以使用直观的仪表板 UI,并集中管理 Rancher 和 Harvester:
Harvester 还提供了由 Rancher 管理的 Monitoring。可以在仪表板上看到指标:
仪表板还提供了整个环境的数据来源。
存储
在 Harvester 中,Longhorn 作为在计算节点上运行的服务提供存储功能,因此,如果添加了新节点,Longhorn 可以轻松进行扩展。用户不需为存储增加额外的节点。
此外,controlplane、计算和存储节点之间的通信不需要外部的存储 controller。从虚拟机的角度来看,存储沿着 Harvester 节点分布,没有本地存储。Harvester 支持备份到 NFS 或 S3 存储桶。
结论
Harvester 基于 Kubernetes 构建,完全集成 Rancher,是一个现代、强大的云 HCI 解决方案,能帮助您简化部署、扩展和操作。
虽然 Harvester 仅支持 NIC 绑定和 VLAN(网桥),但后续将添加更多网络模式。
如果您需要更专业的网络配置,则首选 OpenStack。
了解更多
Harvester 产品页面:https://www.suse.com/products/harvester/
开始使用 Harvester HCI:https://www.suse.com/products/harvester/Harvester
GitHub:https://github.com/harvester/harvester
索引
[1] https://docs.openstack.org/yoga/
[3] https://docs.openstack.org/install-guide/get-started-logical-architecture.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
9000+字,唠唠架构中的设计模式
第1章 架构中的设计模式 1 设计模式概述 软件设计模式(Software Design Pattern),俗称设计模式,设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。使用设计模式的目的是为了代码重用、让代码更容易被他人理解、保证代码可靠性。 设计模式: 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中一些不断重复发生的问题,以及该问题的解决方案。 设计模式使用场景: 1、在程序设计上会使用到设计模式(宏观) 2、在软件架构设计上会使用到设计模式(程序中的体现) 设计模式的目的: 1、提高代码的可重用性 2、提高代码的可读性 3、保障代码的可靠性 GOF 《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书),由 Erich...
- 下一篇
行业方案|数字化疫情防控运行保障解决方案
背景与需求分析 自2019年底疫情爆发以来,新冠病毒已经肆虐全球200多个国家和地区,迄今为止确诊病例数高达6亿多。其强大的传染力以及近期所展现出的变异能力,导致疫情至今仍在全球各地发展。因此,如何助力疫情防控,保障数字化疫情防控是现阶段最重要的工作之一。 “健康码”运行特点 多源性 :健康码的信息来自多个不同机构:红、黄、绿码信息由卫生健康机构提供,地理位置信息由通信运营商提供,填报的健康信息会被发送到人口库进行验证。 高并发:由于健康码的使用场景,“亮码”的查询区域广、人群流动频繁、使用频率高,需要实现大量的高并发查询请求和快速响应。 “健康码”运维关注点 不同机构数据获取的通畅性。这就涉及到不同机构提供的接口,要能满足信息查询的需求。 不同机构的接口要能支持频繁的查询,确保接口的可用和快速响应。 不同运营商的服务水平有地域的差异,需要能够确保运营商的服务可用。 大数据量高并发也能快速响应。需要关注健康码背后运行的服务器、网络链路,健康码应用的性能。 服务器问题:一旦数据量超过服务器的承受能力,就有可能导致服务器瘫痪,应用程序暂停,健康码无法访问。 网络链路问题:网络链路有带宽的限...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果