【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

KubeEdge v1.1 发布: 将 Kubernetes 容器存储标准 CSI 带到边缘

  • 2019-09-27
  • 本文字数:2119 字

    阅读完需:约 7 分钟

KubeEdge v1.1发布: 将Kubernetes容器存储标准CSI带到边缘

近日,KubeEdge 发布了新的特性版本 v1.1


在上个版本发布 EdgeMesh、EdgeSite 等特性后,KubeEdge 持续保持高速的迭代开发,本次发布的 v1.1 新版本包含了容器存储标准 CSI 集成、对象校验组件 Admission Webhook、单机一键启动 KubeEdge 集群工具、边缘节点支持 DockerShim、升级 Kubernetes 依赖到 v1.15 Stable 版本,以及 25 处问题修复。


Release 下载地址:


https://github.com/kubeedge/kubeedge/releases/tag/v1.1.0


接下来本文将逐一解读 KubeEdge v1.1 的新特性。

KubeEdge 项目背景

KubeEdge 即 Kube+Edge,顾名思义就是依托 K8s 的容器编排和调度能力,实现云边协同、计算下沉、海量设备的平滑接入。


KubeEdge 架构上分为三个部分,分别是云、边、端三侧。云端负责云上应用和配置的校验、下发,边缘侧则负责运行边缘应用和管理接入设备,设备端运行各种边缘设备。KubeEdge 完整的打通了边缘计算中云、边、设备协同的场景,整体架构如下图。



云端组件包括 CloudCore、Admission Webhook,它们构建在 K8s 的调度能力之上,100%兼容 K8s 原生 API,可以运行在任何 K8s 集群中,包括各厂商的 K8s 产品、用户在云上自建的 K8s 集群等。CloudCore 中主要包含 EdgeController、DeviceController、CloudHub 三个模块。


  • EdgeController、DeviceController 即 K8s 传统意义中的控制器,负责与边缘侧应用、设备元数据的同步。

  • CloudHub 负责与边缘侧直接通信。


边缘侧组件包括 EdgeCore 及接入设备的 Mappers。Mappers 负责接入边缘设备,EdgeCore 负责边缘应用与设备管理,其模块主要包括 EdgeHub、Edged、设备信息管理模块,应用与设备信息持久化模块。


  • EdgeHub 负责与云端直接通信。

  • Edged 是边缘侧负责应用生命周期管理的模块,它是裁剪过的 Kubelet,在保留上游核心功能的基础上,又满足边缘侧轻量化的需求,其 API 与 Kubelet 完全兼容。

  • 设备信息管理模块主要通过 MQTT 协议与接入到边缘端的设备交互。

  • 应用与设备信息持久化模块负责将应用与设备元数据持久化到本地的 SQLite 数据库中,以在边缘断网的情况下实现边缘自治。

容器存储标准 CSI 集成

边缘侧运行的程序经常有存储数据的需求,例如边缘的视频收集分析程序,需要将视频信息保存下来。


KubeEdge 在提供了 ConfigMap、Secret、HostPath、Emptydir、Downwardapi 及 Projected 这些 Volume 的基础上,在 v1.1 版本中又集成了容器存储接口 CSI,使得用户可以使用 K8s 标准的存储方案,如 StorageClass(SC),PersistentVolume(PV)和 PersistentVolumeClaim(PVC)在边缘侧存储数据。


整体架构如下:



其中蓝色部分为复用的 Kubernetes-CSI 组件,包括 External-Provisioner、External-Attacher、Node-Driver-Registrar、CSI Driver from Vendor,主要负责在云上监听 K8s 的 PV、PVC、VolumeAttachment 等资源。


黄色部分为 KubeEdge 中新添加的模块,包括 CSI Driver from KubeEdge、UDS Server、Managers in Edge Controller、CSI Volume Plugin(In-Tree),主要负责将存储信息同步到边缘侧,以及调用外部插件来管理存储卷。

对象校验组件 Admission Webhook

随着越来越多的资源对象如 Device、DeviceModel 等加入到项目中,KubeEdge 需要对它们进行校验。v1.1 发布了对象校验组件 Admission Webhook,目前主要负责对 Device、DeviceModel 对象的校验。未来还会对 Pod 进行校验、修改,保证 Pod 在边缘的运行以及控制离线场景下的迁移等。


Admission Webhook 采用容器化形式部署,用户只需以 Pod 的形式运行新版本的镜像即可。

单机一键启动 KubeEdge 集群工具

v0.3 版本中发布了一键部署工具 KubeEdge Installer(keadm),它包含 Cloud 和 Edge 两类子命令,Cloud 端的命令负责安装一个 Kubernetes 集群和 CloudCore。Edge 端的命令负责初始化一个边缘节点并加入到 KubeEdge 管理面。KubeEdge Installer 可以在实际生产场景中部署 KubeEdge。


v1.1 提供的一键启动 KubeEdge 集群工具,可将完整的 KubeEdge 集群运行在一台机器上。用户只需运行该脚本,即可在一台机器上运行一个 KubeEdge 集群,方便开发者调测。它使用 Kind 运行一个 K8s 集群,将 KubeEdge 相关的组件运行在一台机器上,可以方便地用于开发测试、CI 测试等。

边缘节点支持 DockerShim

v1.0 版本中在边缘侧添加了对 CRI 接口的支持,使得用户可以在边缘侧使用多种运行时,包括 Containerd、Cri-o 等。


v1.1 版本中,为了使用户可以直接使用 Docker,且与 K8s 上游社区保持一致,在边缘侧添加了对 DockerShim 的支持。


其他修改

v1.1 将 K8s 依赖升级到了 v1.15 Stable 版本,Edged 对应的 K8s 版本也升级到了 v1.15,用户可以在边缘侧享用最新版 K8s 的应用管理、存储管理等能力。


v1.0 版本的 EdgeMesh 只支持 REST 协议,由于 K8s 的 Service 原生是 L4 的,且应用场景非常广泛。在 v1.1 中 EdgeMesh 提供了 L4 Proxy 的能力。

结语

随着 v1.1 版本的发布,KubeEdge 提供了更完备的边缘应用生命周期管理以及设备管理能力,更加友好的社区贡献者体验,感谢每一位为社区做过贡献的贡献者。后续版本将进一步提升云边协同的效率、可靠性,更多的边缘设备协议支持。更多详情请关注


项目官网:https://kubeedge.io


代码仓库:https://github.com/kubeedge/kubeedge


2019-09-27 14:061473

评论

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

5分钟速读之Rust权威指南(二十七)Rc<T>

wzx

rust

☕【JVM技术探索】深入分析各种锁(锁膨胀)运作流程

洛神灬殇

JVM 锁升级 6月日更 锁分析

工作年限、成长路线、进阶技术。怎样才能成为架构师?

Linux服务器开发

Linux服务器开发 Linux后台开发 软件架构师 服务器架构师 C++架构师

【Linux】使用 systemd 管理 frp 服务

赖猫

Linux 后端

剪视频一点都不难,多款超实用剪辑软件全方位评测!

懒得勤快

短视频 视频剪辑 视频制作

网络态势感知是什么?

郑州埃文科技

银行业运维指标体系建设实战

云智慧AIOps社区

智能运维

前端 JavaScript 复制粘贴的奥义——Clipboard 对象概述

编程三昧

JavaScript 大前端

58集团 x StarRocks:全面升级数据分析能力,满足多场景业务分析需求

StarRocks

数据库 数据分析 OLAP 58同城 StarRocks

北京多部门联合整治违规应用:过度收集用户信息该重罚

石头IT视角

RestTemplate打印日志的正确姿势

编号94530

spring 日志 log RestTemplate

1小时学会不打代码制作一个网页精美简历(1)

1_bit

大前端 低代码 iVX 低代码开发平台

网络攻防学习笔记 Day52

穿过生命散发芬芳

网络攻防 6月日更

为什么大家都在用WebRTC?

anyRTC开发者

音视频 WebRTC 语音通话 视频通讯

腾讯安全姬生利:《数据安全法》下,云上数据安全最佳实践

腾讯安全云鼎实验室

数据安全 云安全 数据安全法

推荐算法概述(十五)

数据与智能

算法 倒排索引 推荐系统

网络为本,博睿数据NPMD用20%的投入实现80%的功能

博睿数据

博睿数据 数据链DNA NPMD

管理者如何避免主观偏见

石云升

职场经验 管理经验 6月日更

唯品会:在 Flink 容器化与平台化上的建设实践

Apache Flink

flink

JavaScript 数组操作必须熟练运用的 10 个方法

devpoint

JavaScript array reduce 6月日更

Redis入门四:数据持久化

打工人!

redis redis持久化 6月日更

如何用视频云技术,搞一个爆红的 “反应视频” 项目?

阿里云视频云

阿里云 RTC 英特尔 视频处理 视频制作

小红书 x StarRocks:实现数据服务平台统一化,简化数据链路,提升高并发极速查询能力

StarRocks

数据库 数据分析 广告系统 小红书 StarRocks

批量把Excel数据自动录入系统

木头

自动录入 批量录入 自动填表

云开发是啥?看看它在编程导航项目的实践

程序员鱼皮

Java JavaScript 大前端 后端 云开发

基于jira的需求交付效率统计

好孩子

Jira

墨奇,以“一手之力” 证明你就是你

E科讯

ROS CDK | 云上资源自动化部署新模式

郭旭东

阿里云 ROS 基础设施即代码 IaC

Flink 和 Iceberg 如何解决数据入湖面临的挑战

Apache Flink

flink

多云部署又添新「云」,EMQ X Cloud 正式支持腾讯云部署

EMQ映云科技

阿里云 IoT 华为云 云平台 #腾讯云

机器数及特点

若尘

计算机组成原理 6月日更

KubeEdge v1.1发布: 将Kubernetes容器存储标准CSI带到边缘_服务革新_华为云原生团队_InfoQ精选文章