容器管理平台 ECSM
本节介绍翼辉任务关键型云原生技术体系中的容器管理平台 ECSM,以及 ECSM 与 K8s 在功能和性能方面的对比情况。
什么是 ECSM
当前为云计算业务设计的 K8s 系统在超边缘计算环境里显得过于沉重,与云计算环境中几乎无限的计算资源和互联网无法确定的业务负载相比,超边缘计算环境中的业务负载几乎总是确定的,其计算设备的数量以及单设备的计算资源也总是有限的。在这样的计算环境里,如果还需要专门的 master 计算节点、etcd 数据库、虚拟隧道网络,甚至全套数字证书、TLS 和身份认证系统,有限的系统资源都被浪费了。
基于此,翼辉推出了 ECSM(Edge Container Stack Manager)任务关键型容器管理平台。ECSM 采用轻量化设计,去除了不必要的控制单元、虚拟隧道网络代理,并使用更轻量的数据库,使得其总体资源需求能够适用于各种资源受限的超边缘计算环境。ECSM 提供了可视化的镜像管理、节点管理、容器编排调度、配置管理及资源监控等强大的弹性管理功能,可以助力用户轻松实现微服务应用的分发、编排和调度。
ECSM 功能特性
轻量化边缘自治
与 K8s 相比,ECSM 的系统资源消耗极低。即使在脱离互联网或中央控制系统的情况下,ECSM 仍能为边缘集群中的微服务容器提供编排调度能力,保证计算集群的整体容错性和高可用性,实现节点故障时业务容器的自动迁移等能力。支持图形化或 API 化部署
ECSM 提供了便捷的 Web 界面用于快速部署、更新和删除容器应用。还可通过可视化图表展示集群内应用、容器、节点和镜像的统计数据和状态。在生产环境中,ECSM 支持无图形界面的 API 化部署方式,节约了边缘计算集群的系统资源。镜像仓库管理
支持标准的 Docker Registry API 和 OCI 标准镜像规范。内置的镜像仓库支持从远程仓库同步镜像,并为边缘计算环境提供了容器版本的更新和回滚能力。微服务治理和配置管理
监听并接收外部请求,通过网关统一与集群内的容器节点进行交互,并对外部请求进行路由,转发到对应容器的工作节点上,实现对各容器节点的统一编排管理。容器调度分发
业务容器部署完成后,ECSM 为容器内的业务应用提供 VSOA 微服务的注册与发现、服务请求的负载均衡调度及微服务的业务健康监测等服务。另外配置中心还提供了基于 VSOA URL 的业务配置信息管理和变更发布能力。多平台多架构支持
支持 SylixOS、EdgerOS、Linux、macOS、Windows 操作系统和 LoongArch、ARM64、PowerPC、x86-64 等多种处理器架构。灵活的调度和部署策略
支持根据应用或微服务的预设策略对容器进行静态调度,也能根据各节点的实时工作状态和负载情况进行动态调度。调度部署过程还支持更灵活的镜像预部署、容器预热等策略。
关于 ECSM 容器管理平台的更多功能特性,请参见 ECSM 产品概述。
ECSM 对比与 K8s
下面从功能与性能维度对 ECSM 和开源方案常用的 Kubernetes 进行对比。
对比环境:
i5-10505 CPU@3.20GHz 32GB 内存的物理主机。
功能对比
对比项 | ECSM | Kubernetes |
---|---|---|
系统资源需求 | 低 | 高 |
综合运维成本 | 低 | 高 |
用户界面 | 简单直观的 Web 图形化管理界面 | 复杂繁琐的 Web 图形化管理界面或命令行和配置文件 |
HTTP API | 支持 | 支持 |
VSOA API | 支持 | 不支持 |
静态容器调度策略 | 简单明确,规则清晰 | 需要通过 Label 配置 |
动态容器调度策略 | 通过 CPU、内存等可视化指标配置 | 服务运行模式多,规则非常复杂,学习成本较高,容易出现不可预测的情况。 |
滚动更新 | 支持 | 支持 |
数据库 | 内置文件数据库(资源消耗少) | 分布式数据库(需要大量内存) |
健康监测 | HTTP 或 VSOA | HTTP 或自定义脚本 |
配置中心 | 深度集成 VSOA,支持订阅发布,实时获取最新的配置信息 | 通过环境变量或程序参数传入,需要定期轮询获取 |
微服务调度 | 内置实时 VSOA 微服务地址解析 | K8s DNS |
应用场景 | 嵌入式系统、边缘计算网络 | 中大型云计算服务 |
高可用 | 2 节点 | 至少 3 节点 |
镜像仓库 | 内置高效容器镜像仓库 | 需要第三方软件 |
网络组件 | 直接使用宿主机网络提供更高的实时性 | 各种 CNI 网络插件 |
操作系统 | Linux、Windows、EdgerOS、SylixOS、macOS | Linux |
性能对比
对比项 | ECSM | Kubernetes |
---|---|---|
主节点组件 | ECSM 使用单节点;至少 32 MB 内存;安装磁盘空间约 20 MB | 至少 3 个节点;每个节点至少 2 GB 内存;每个节点至少 2 CPU 核心;每个节点安装磁盘空间约 500 MB |
工作节点组件 | ECSD | kubelet 控制代理;kube-proxy 节点网络代理程序 |
空载内存开销 | 约 5 MB | 约 120 MB |