首页 > 其他分享 >BMW 与 Harvester 的云与边缘之旅

BMW 与 Harvester 的云与边缘之旅

时间:2022-10-10 11:38:25浏览次数:48  
标签:容器 场景 之旅 Harvester 边缘 集群 BMW Rancher

作者

姚灿武,SUSE Rancher 研发工程师,拥有 6 年云计算领域经验,热衷开源技术,在云原生相关技术领域拥有丰富的开发和实践经验。

本文整理自姚灿武在 SUSECON 北京 2022 开源技术峰会上的主题演讲。

本文将通过 BMW 的边缘案例,从边缘的角度为大家介绍 Harvester,并分享 SUSE Rancher 中国团队对于边缘基础设施的一些思考。

边缘场景分类

边缘这个概念往往比较模糊,分类可以帮助我们清晰地界定和理解我们所面对的问题,从而给出更恰当的解决方案。SUSE 将边缘场景分为三类,分别是:

  • Near Edge: 主要是指电信、媒体和通信领域,靠近核心数据中心,数量比较少,一般就是在 10 ~ 100 之间;
  • Far Edge:指商超、工产生产车间以及公共部门等场景,距离核心数据中心较远,一般数量在 100 ~ 10,000 之间;
  • Tiny Edge: 指各种各样的终端设备,比如说汽车、工厂里的机械手臂等,通常与 Far Edge 部署在同一个空间。

BMW 与 Harvester 的云与边缘之旅_Kubernetes

BMW 边缘需求与方案

BMW 边缘场景是一个典型的 FAR Edge 例子,主要包含以下三点需求:

  • 环境部署:要求部署在边缘数据中心(车辆制造厂、测试站等)的裸金属服务器上;
  • 扩展性和容错性:要求能够扩展到几台甚至数十台服务器上以及特别关注容错性和应用高可用;
  • 统一管理:希望在同一平台上管理虚拟机和容器应用。

我们为 BMW 提供的解决方案如下:

BMW 与 Harvester 的云与边缘之旅_Harvester_02

这个方案主要的思路是:

  • 在裸金属服务器上安装 Harvester,满足环境部署要求以及扩展性要求;
  • 在 Harvester 之上启动传统虚拟机和 Kubernetes(天然满足应用高可用) ,用于部署虚拟机和容器应用;
  • Harvester 集成到 Rancher 中,使 Rancher 成为统一管理平台。

关于 Harvester

从上图可以看出,Harvester 是上述方案的重要组成,接下来给大家具体介绍一下 Harvester。

一句话概括,我们可以说:

Harvester 是云原生时代的开源 HCI 软件解决方案

如果用三句话,我们可以说:

  • 首先,Harvester 是基于云原生技术构建的 HCI 开源软件方案;
  • 其次,Harvester 使用了定制化的容器操作系统;
  • 最后, Harvester 与 Rancher 深度集成可以带来统一的管理体验。

这三点中,第一点立根云原生生态是核心,第二点和第三点是对云原生技术的深度使用和延伸。

接下来我们详细介绍下。

Harvester 是开源的 HCI 解决方案

首先我们需要了解什么是 HCI(Hyper-Converged Infrastructure)。

传统 IT 基础架构计算与存储是相互分离,然后通过网络进行连接的。而更先进的超融合基础架构(HCI)融合了这三者,具体来说有如下两个特点:

  • 融合:同一套设备中通过软件定义的方式,集成计算、网络、存储和服务器虚拟化等资源和技术;
  • 池化:多套设备能够聚合起来,形成统一可调度的资源池。

简单示意如下:

BMW 与 Harvester 的云与边缘之旅_K8s_03

Harvester 基于云原生生态构建

相比传统 HCI 如 Vmware ESXi,基于云原生生态上构建的 Harvester 引入了容器技术和 Kubernetes 声明式 API 的技术。

BMW 与 Harvester 的云与边缘之旅_Harvester_04

  • 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 为客户集群提供负载均衡能力。

BMW 与 Harvester 的云与边缘之旅_Harvester_05

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 的落地实践,也期待可以给大家带来更多的好用先进的软件产品。

标签:容器,场景,之旅,Harvester,边缘,集群,BMW,Rancher
From: https://blog.51cto.com/u_12462495/5742956

相关文章

  • 我的ACM之旅
    2021年作为大一新生接近开学那会儿,听学长的描述ACM,便有点兴趣。九十月份因为感情上的一些事情没有专心学习,一个人也不认识,在ACM入门的门口摸爬滚打。十一月份进入学校ACM......
  • 引擎之旅 Chapter.4 日志系统
    关于近段时间为何没有更新的解释:Findanewjob.目录引言日志语句的分类控制台窗体和VSOutputTab的日志打印存储至特定的文件中展示堆栈信息引言一般来说,一个优质......
  • 我的NVIDIA开发者之旅——优化显卡性能
    在我们购买任何一样东西时都是更具需求而决定的,买电脑也是,有时是为了办公,就买轻薄本;有些是为了玩游戏,就买游戏本。不同的需求会导致我们购买电脑的硬件有所不同,玩游戏最看重......
  • 我的编程之旅
    我是一名程序员,虽然码龄只有两年,但是读过许多经典的书籍,比如《java核心技术卷I》,《java核心技术卷II》,学了许多框架,从最初的javaweb到ssm,再到springboot,以及springclo......
  • JDBC学习之旅分享(一)
    记录JDBC的学习(一)什么是JDBCJDBC的主要用的接口JDBC具体创建过程一、什么是JDBCJDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAP......
  • 我的绿洲实习之旅
    我的绿洲实习之旅我与OasisInfobyte的实习之旅。我是PranitJagtap。在这个博客中,我将分享我在OasisInfobyte担任Java开发实习生的实习经历。我很高兴有机会在......
  • 我的Vue之旅、05 导航栏、登录、注册 (Mobile)
    第一期·使用Vue3.1+TypeScript+Router+Tailwind.css构建手机底部导航栏、仿B站的登录、注册页面。代码仓库alicepolice/Vue-05(github.com)构建项目新建......
  • C语言也能做界面:踏上GTK+学习之旅
    ​​00、背上行囊1——程序员学习之道​​​​01、背上行囊2——为什么要学习GTK​​​​02、背上行囊3——​​​​GUI概述​​​​03、背上行囊4——GTK简介​​​​04、......
  • Linux高级网络开发奇妙之旅
    一、基础理论篇​​01、网络协议入门​​​​02、LAN、WAN、WLAN、VLAN和VPN的区别​​​​03、IP地址介绍​​​​04、广播地址介绍​​​​05、无连接和面向连接协议......
  • 大数据揭秘丨疫情影响下亚马逊女性夹克的逆袭之旅
      本文是一篇以亚马逊美国站作为研究对象的跨境电商数据分析报告。本报告使用ForeSpider数据采集系统,对美国地区女性夹克商品数据进行采集挖掘和分析,分别对女性夹克分......