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