容器化系统


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

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

../_images/container_function1.png

应用场景

  • 利用版本包部署/升级应用
  • 远程管理边缘节点(查看Pod日志)
  • 断网情况下,边缘自治(利用本地持久数据维持系统正常运行)

云边协同

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

边缘自治

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

注解

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

功能特性

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

  • 提供版本包创建和使用能力,简化部署/升级,同时降低出错概率
  • 支持批量部署、升级应用
  • 断网场景,利用本地持久化数据支持应用正常运行

关键概念

Pod

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

Edge 边缘节点

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

Deployment

Deployment 模版主要用来定义各个组件的部署资源,包括CPU和内存资源、应用数据存储、应用健康检查等。

Config Map

Config Map可以将应用的配置信息和程序分离,让程序可以通用,通过不同的配置文件实现灵活适配能力。对于 Edge 来说,通常有 2 种类型的Config Map:box.conf 和 lion.properties。

产品版本

Edge 容器系统使用版本功能来维护应用镜像、应用 deployment 模版、lion.properties(功能配置部分)、应用启动依赖关系。用户直接使用产品版本部署可以简化部署流程(无需用户自己分别选择应用组件、选择tag镜像、设置通用配置项等)。

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


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

滚动更新

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