容器化系统¶
基于Kubernetes和KubeEdge技术栈,Edge容器化系统提供容器化部署、升级产品能力,并且借助创建成熟的版本包降低运维人员出错的风险.
Edge 容器化系统架构如下图所示:
应用场景¶
利用版本包部署/升级应用
远程管理边缘节点(查看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 版本,交替地逐一升级的过程。