容器化系统


基于Kubernetes和KubeEdge技术栈,Edge容器化系统提供容器化部署、升级产品能力,并且借助创建成熟的版本包降低运维人员出错的风险,提升部署/升级效率

Edge 容器化系统架构如下图所示:

../_images/container_function1.png

应用场景

  • 利用版本包部署/升级应用
  • 远程管理节点
  • 对接Prometheus,监控节点应用指标
  • 断网情况下,边缘自治

云边协同

在现有网络场景下,可以批量运维海量的边缘节点,包括批量部署或升级和日志查看等。

边缘自治

在断网或者弱网场景下,边缘节点依赖本地持久化的镜像以及元数据可以自行运行服务,并在网络恢复后与云端交互数据。

注解

建议在节点发往现场前进行预部署。

功能特性

Edge 容器化服务的产品功能如下:

  • 系统性管理组织、项目、应用、客户、场站,方便运维
  • 提供版本包创建和使用能力,简化部署/升级,同时降低出错概率
  • 支持批量部署、升级应用
  • 断网场景,利用本地持久化数据支持应用正常运行

关键概念

Pod

在 Kubernetes 中创建和管理的最小的可部署的计算单元。表示一组一个或多个应用程序容器,可以共享网络、存储和计算资源。在 ECS 平台中的 Pods 容器中可以查看 Pod 日志。

Edge 边缘节点

EnOS Edge 边缘计算设备(Edge IIoT Gateway 和 Edge Extensive)可以是物理机也可以是虚机,可用于运行边缘应用、处理数据,并与云端应用协同。每个 Edge 边缘节点上可以运行多个 Pod。

Deployment

为 Pod 和 ReplicaSet(Pod 副本数量控制器)提供声明式的更新能力,确保每时刻工作的 Pod 数量保持在设定值。在 ECS 平台中的 Deployment 容器中设置应用部署占用的资源。

Config Map

一种 API 对象,可以将配置数据和应用程序分开。对于 Edge 来说,通常有 2 种类型的 box.conf 和 lion.properties,可以在 ECS 平台中的 Config Maps 容器中设置应用配置信息。

版本

Edge 容器系统使用版本功能来维护应用镜像、应用 deployment 模版、lion.properties(功能配置部分)、应用启动依赖关系。使用版本可以简化部署流程。

Edge 自身的版本包通常由 Edge 运维专家创建,运维人员可以直接选择已有的版本包进行相应的部署。版本包说明如下表所示:


配置项 说明
版本 通过“创建版本”新建主版本,在主版本基础上新建子版本
产品形态 选择 Gateway 单节点、Extensive 单节点或 Extensive 多节点
版本号 主版本号按照版本号规范手动输入(通常为 X.Y.Z),子版本号系统自动生成
描述 对版本内容和作用的说明
配置文件 每个版本拥有一个配置文件,即 lion.properties 中的功能配置部分
包含组件 定义待部署的组件
Docker 镜像 组件对应的镜像文件版本
应用模版 deployment 模版

滚动更新

Edge 容器化系统的发布模式,是将一个集群中正在运行的多个 Pod 版本,交替地逐一升级的过程。