共计 3080 个字符,预计需要花费 8 分钟才能阅读完成。
作者
姚灿武,SUSE Rancher 研发工程师,领有 6 年云计算畛域教训,热衷开源技术,在云原生相干技术畛域领有丰盛的开发和实践经验。
本文整顿自姚灿武在 SUSECON 北京 2022 开源技术峰会上的主题演讲。
本文将通过 BMW 的边缘案例,从边缘的角度为大家介绍 Harvester,并分享 SUSE Rancher 中国团队对于边缘基础设施的一些思考。
边缘场景分类
边缘这个概念往往比拟含糊,分类能够帮忙咱们清晰地界定和了解咱们所面对的问题,从而给出更失当的解决方案。SUSE 将边缘场景分为三类,别离是:
- Near Edge: 次要是指电信、媒体和通信畛域,凑近外围数据中心,数量比拟少,个别就是在 10 ~ 100 之间;
- Far Edge:指商超、工产生产车间以及公共部门等场景,间隔外围数据中心较远,个别数量在 100 ~ 10,000 之间;
- Tiny Edge: 指各种各样的终端设备,比如说汽车、工厂里的机械手臂等,通常与 Far Edge 部署在同一个空间。
BMW 边缘需要与计划
BMW 边缘场景是一个典型的 FAR Edge 例子,次要蕴含以下三点需要:
- 环境部署:要求部署在边缘数据中心(车辆制造厂、测试站等)的裸金属服务器上;
- 扩展性和容错性:要求可能扩大到几台甚至数十台服务器上以及特地关注容错性和利用高可用;
- 对立治理:心愿在同一平台上治理虚拟机和容器利用。
咱们为 BMW 提供的解决方案如下:
这个计划次要的思路是:
- 在裸金属服务器上安装 Harvester,满足环境部署要求以及扩展性要求;
- 在 Harvester 之上启动传统虚拟机和 Kubernetes(人造满足利用高可用),用于部署虚拟机和容器利用;
- Harvester 集成到 Rancher 中,使 Rancher 成为对立治理平台。
对于 Harvester
从上图能够看出,Harvester 是上述计划的重要组成,接下来给大家具体介绍一下 Harvester。
一句话概括,咱们能够说:
Harvester 是云原生时代的开源 HCI 软件解决方案
如果用三句话,咱们能够说:
- 首先,Harvester 是基于云原生技术构建的 HCI 开源软件计划;
- 其次,Harvester 应用了定制化的容器操作系统;
- 最初,Harvester 与 Rancher 深度集成能够带来对立的治理体验。
这三点中,第一点立根云原生生态是外围,第二点和第三点是对云原生技术的深度应用和延长。
接下来咱们具体介绍下。
Harvester 是开源的 HCI 解决方案
首先咱们须要理解什么是 HCI(Hyper-Converged Infrastructure)。
传统 IT 基础架构计算与存储是互相拆散,而后通过网络进行连贯的。而更先进的超交融基础架构(HCI)交融了这三者,具体来说有如下两个特点:
- 交融:同一套设施中通过软件定义的形式,集成计算、网络、存储和服务器虚拟化等资源和技术;
- 池化:多套设施可能聚合起来,造成对立可调度的资源池。
简略示意如下:
Harvester 基于云原生生态构建
相比传统 HCI 如 Vmware ESXi,基于云原生生态上构建的 Harvester 引入了容器技术和 Kubernetes 申明式 API 的技术。
- Harvester 对容器技术的利用次要体现在应用了容器 OS;
- 应用开发对立的 kubernetes API 替换厂商专有 API 使得咱们能够应用 gitops 和云原生工具去治理咱们的整个基础架构,包含 Rancher。
这两点也是 Harvester 产品的翻新所在。
Harvester 应用容器 OS
容器 OS 是不可变基础设施理念从容器下沉到 OS 所带来的翻新技术,它容许咱们像制作容器镜像一样,应用 Dockerfile 自定义一个操作系统。Harvester 所应用的容器操作系统次要具备以下三个特点:
- 不可变。因为操作系统变成了一个 OCI 镜像,利用 OCI 镜像的特点,使得操作系统领有只读 rootfs 以及反对 OTA 降级。
- 轻量。因为能够很不便地定制零碎,咱们能够针对 Harvester 的产品特点,精简内核固件和软件包。
- 稳固。中小企业客户很难去保护一个操作系统,很多问题也正是在线上保护过程中引入的。Harvester 官网依靠 SUSE 弱小的 Linux 生态和技术来保护这个操作系统,不容许用户随便更改配置,很好地为用户解决了这个麻烦。
Harvester 与 Rancher 集成
引入 Kubernetes 申明式 API 容许 Harvester 能够不便地接入其余云原生生态产品,与 Rancher 集成就是一个典型。Harvester 与 Rancher 集成具体给咱们带来如下的性能:
- Harvester 可导入到 Rancher
①Kubernetes 集群与虚拟机在同一 UI 上治理;
②Harvester 继承 Rancher 多租户治理的能力。 - 反对在 Rancher 上疾速部署和治理集群
通过 Harvester node driver 疾速部署集群;Harvester 可间接为集群提供存储和负载平衡能力(示意图如下)。Harvester 能够间接利用 Longhorn 的能力为 Harvester 之上部署的集群(客户集群)提供存储能力。Harvester 团队专门开发了 Harvester Load Balancer 为客户集群提供负载平衡能力。
Harvester 性能和个性
这里列举出 Harvester 的次要性能和个性,不再一一具体阐明。
- 环境配置与装置
①反对 ISO 与 PXE 装置
②反对离线环境与 Proxy 代理 - 计算
①虚拟机生命周期治理
②内置 Prometheus 监控
③反对 VNC 与串口控制台拜访
④Cloud-init 与 SSH Key 治理
⑤热迁徙
⑥虚拟机备份与复原(S3/NFS) - 存储
①分布式存储(默认高可用)
②内置镜像仓库(OS)
③磁盘热插拨 - 网络
①集群 VIP
②反对多网卡与 VLAN - 多集群与多租户治理
①通过 Rancher 提供多集群治理
②基于 RBAC 的多租户治理
③内置 Cloud Provider 与 CSI(Container Storage Interface)驱动
思考分享
回到边缘的主题,对于“什么才是更加适应边缘场景的基础设施”,SUSE rancher 中国团队有一些思考能够与大家分享。
边缘场景的特点
首先边缘利用要求更低的时延,后面介绍的 BMW 的例子,就是为了谋求更低的时延才将业务部署到边缘数据中心下面。
其次是边缘场景下所提供的资源包含 CPU、内存、存储、带宽等相比 IDC 或者私有云都是更少的。
最初,边缘场景下会有更多样的终端设备以及更多的设施间的连贯。
能够再精炼总结如下:
- 一是可利用的资源更少了,所以要求在设计产品或者计划时要做减法,谋求轻量。
- 二是场景更加多样简单,难以有通用的计划,治理上会更加简单,这就要求咱们提供更无效的管理手段。
怎么构建更加适应边缘场景的基础设施
为应答边缘场景特点带来的两个挑战,咱们认为有两个理念值得借鉴:
- 不可变基础设施的理念。将基础设施抽象化,基础设施即代码,像治理代码一样治理咱们的基础设施。这种形式能够让咱们灵便地去自定义利用和操作系统。自定义时,咱们就能够针对业务做深度优化,缩减资源应用;同时,利用与操作系统被打包成一个个 OCI 镜像,也使利用散发和系统升级更加简便。
- 业务独占集群理念。在边缘场景下,通用大集群难以实用,咱们应该让基础设施去适应业务,部署业务独占的微集群,一套集群专属一套业务,实现架构解耦与故障隔离的同时,也容许咱们去针对利用做深刻的优化,包含编排引擎和 OS 层面,不再像通用容器平台一样谋求大而全,转而谋求轻量和适合。
Harvester 实质上就是这两个技术理念的实际产物。
咱们期待将来能够给大家带来更多对于 Harvester 的落地实际,也期待能够给大家带来更多的好用先进的软件产品。