已绑定手机 已实名认证
|
ECS(Edge Container Stack)是翼辉面向“任务关键型云原生架构”推出的系列产品之一,ECS 技术栈包含了多种翼辉自主创新研发的边缘容器技术,其中ECS 实时容器是基于翼辉成熟的实时操作系统SylixOS 打造的新一代轻量级实时容器技术。
ECS 实时容器面向任务关键型软硬件和边缘计算领域,其充分考虑了普通容器技术在这些领域应用场景中存在的众多问题(如实时性不足、资源消耗过于沉重、镜像过大、开发
难度大、安全性不足等),它继承了SylixOS 卓越的硬实时性和强大的跨平台基因,支持丰富的CPU 体系结构和处理器,容器内的应用程序可使用SylixOS 全部的应用编程API
和POSIX API,过去的SylixOS 应用程序无须修改即可运行在容器内,极大降低了用户迁移成本。同时可将VSOA 组件导入应用程序容器内,可立即实现应用程序微服务化。
ECS 实时容器有着以下的功能特性:
强大的跨平台基因,支持丰富的处理器;
卓越的硬实时性和优异的性能;
保证环境一致性、易于移植;
极其轻量,无系统驻留;
资源隔离与限制能力,提供配额管理,高安全可靠;
便于开发阶段的极速部署;
兼容OCI 镜像和运行时标准,接近Docker 使用习惯;
容器管理平台ECS Manager 和大型企业级综合化容器管理系统ECS Cloud 加持,具有弹性管理能力。
1.2 ECS 容器功能特征
强大的跨平台基因,支持丰富的处理器ECS 实时容器继承了SylixOS 强大的跨平台基因,支持ARM32/64、PowerPC、MIPS32/64、x86/x64、SPARC、C-SKY、RISC-V32/64 和LoongArch 等体系结构的处理器。
翼辉信息丰富的SylixOS BSP(板级支持包)商业现货软件已全面支持ECS 实时容器,客户能以最快的速度使用ECS 实时容器,并将其投入到生产环境中。
图1.1 ECS 容器技术组成
图1.1 ECS 容器技术组成
卓越的硬实时性和优异的性能
ECS 实时容器继承了SylixOS 卓越的硬实时性和优异的性能,加入ECS 实时容器技
术SylixOS 内核有着μs 级中断响应时间,同时加入容器线程优先级限制,确保关键的高
优先级实时线程不被抢占,有效保证任务关键型设备的实时响应能力。同时高效、先进、低
开销的实现,容器间的切换可以做到μs 级,使得加入ECS 实时容器技术SylixOS 内核
依然有着与标准版本SylixOS 相当的性能。
保证环境一致性、易于移植
ECS 实时容器有助于软件开发人员更快速、更安全地创建和部署应用程序。以传统方法开发代码离不开特定的计算环境,一旦迁移到新环境,容易产生错误和BUG。开发人员可以将应用程序运行所依赖的全部内容(包括数据文件、共享库和配置文件等)都封装并隔离在ECS 实时容器镜像中以实现标准开发环境的构建,开发完成后通过封装着完整环境和应用程序的ECS 实时容器镜像进行迁移,测试、生产、运维人员都可以直接部署容器镜像来进行测试和发布,大大简化了持续集成、测试和发布的过程,保证了应用在开发、测试、运营阶段的环境一致性。
极其轻量,无系统驻留
ECS 实时容器的实现简洁、高效,容器共享主机操作系统内核,单个容器运行时对于系统本身的内存消耗低至1MB。ECS 实时容器的实现可以自动探测现代处理器高级特性并进行优化,使得容器间的切换可以做到μs 级。ECS 实时容器技术实现无系统驻留服务,容器的核心功能实现都基于操作系统内核改造完成,安全性与稳定性更高。
ECS 实时容器支持OCI 运行时标准的mount 挂载功能,如真实宿主环境的/qt 目录可只读方式挂载到容器内的/qt 目录,用于复用真实宿主环境的Qt 共享库,避免存放多份Qt 共享库浪费磁盘空间的同时,也减小了容器镜像的大小,使得容器的部署、安装、升级更为迅速。
资源隔离与限制能力,提供配额管理,高安全可靠ECS 实时容器提供给每个容器隔离的运行环境。ECS 实时容器实现的运行时环境隔离包括容器间的内存空间隔离、文件系统隔离、私有设备隔离、环境变量隔离、IPC 通信隔离等。完整独立的容器运行环境,保证了容器内的应用免受环境和其它应用的影响,以使容器的运行环境符合预期,提升容器内应用的安全性。
ECS 实时容器对于操作系统资源提供了配额管理功能,ECS 实时容器支持对容器的CPU 运行时间、内存大小、内核对象、磁盘存储空间等资源的配额和shell 命令权限、真实宿主环境设备访问权限的配置,对容器可用资源进行配额和操作进行权限检查以有效拦截越权操作,避免超额使用内核资源,保障系统完全。通过对操作系统资源的配额管理能够更好的实现系统集成。
便于开发阶段极速部署
ECS 实时容器充分考虑了开发阶段需及时对容器内独立部署的需求,每个容器拥有独立的FTP 和TELNET 服务,可多人同时在同一机器上开发不同容器和应用,互不干扰。容器内的应用开发、调试方式与标准SylixOS 应用开发保持一致。同时RealEvo-IDE 提供了容器快速同步、打包镜像的功能,使得ECS 实时容器在开发阶段可以做到“一键式” 极速部署的效果。
兼容OCI 镜像和运行时标准,接近Docker 使用习惯
OCI(Open Container Initiative)组织由Google、Docker 等厂商于2015 年发起成立,并于2016 年4 月推出了第一个开放容器标准。标准主要包括runtime 运行时标准和image 镜像标准。
ECS 实时容器能够兼容OCI 的镜像标准与运行时标准。对于OCI 镜像标准,ECS 实时容器实现了对config、manifest、index 文件的支持,支持使用Dockerfile 构建容器镜像;对于OCI 运行时标准,ECS 实时容器实现了容器的created、running、stopped 等生命状态,支持状态间的切换,ECS 实时容器还扩展支持了容器的暂停与恢复的功能。ECS 实时容器提供的命令行接口接近Docker 和OCI 标准使用习惯,已有容器使用经验的用户可快速上手ECS 实时容器。ECS 实时容器支持符合OCI 标准的容器管理平台,如Docker Hub和翼辉容器管理平台ECS Manager。
1.3 ECS Cloud 容器管理系统
ECS Cloud 是翼辉推出的强大的大型企业级综合化容器管理系统,其包括ECMPEnterprise 企业管理平台和ECDP 应用开发平台,支持CI/CD(持续集成、持续交付/部署)和DevSecOps 功能。详情请查看ECS Cloud 产品信息。
1.4 ECS Manager 容器管理平台
ECS Manager 则是翼辉推出的强大的边缘侧的容器管理平台,其在边缘侧提供了容器镜像管理、容器编排、容器及其宿主节点状态监控和健康管理等强大的弹性管理能力。ECS Manager 同时支持管理ECS 实时容器和Docker 容器及EdgerOS 应用。ECSManager 使得目标系统具备了在边缘侧部署、升级、回滚容器和应用等功能,以满足目标系统所需的灾备、迁移、升级等需求,如果容器应用使用VSOA 微服务架构开发,则还可支持滚动更新功能。
ECS Manager 所支持的容器编排、状态监控和健康管理功能,使得目标系统的容器运行管理和维护实现自动化,同时ECS Manager 收集目标系统的容器的状态、健康、日志记录并上报到ECS Cloud,方便开发者能及时掌握容器内应用在生产环境运行时的问题,以实现CI/CD 和DevSecOps 目标。详情请查看ECSM 产品信息。
图1.2 ECS 可实现DevSecOps 目标
2. SRTP 安全实时进程
SRTP(Safety Real-Time Process)安全实时进程类似于Linux 的进程,SRTP 进程拥有独立的地址空间并且工作在CPU 用户模式,使用系统调用进入操作系统内核,不能访问更不能破坏操作系统和其它的容器。
SRTP 进程使用srtp 命令启动,使用方式如图2.1 所示,在常规进程启动方式前增加srtp 命令即可。
图2.1 执行一个SRTP 进程
图2.1 执行一个SRTP 进程
若SRTP 进程中需增加自定义系统调用,可参考章节9 自定义系统调用。
3. ECS 容器命令
3.1 容器管理设备
ECS 容器的管理功能由内核实现的容器管理设备提供,使用ECS 容器前需要加载内核模块xcondev.ko,使用如下命令:
[root@sylixos:/root]# insmod /lib/modules/xcondev.ko
加载内核模块xcondev.ko 后可以使用devs 命令查看容器管理设备是否注册成功,若查看到如图3.1 所示的container 设备,则表示容器管理设备注册成功。
图3.1 容器管理设备
图3.1 容器管理设备
3.2 容器管理命令
ECS 容器提供的管理命令为ecs,其具体的命令选项及说明如表3.1 所示。
表3.1 容器管理命令
命令 | 说明 | ecs pull | 从 Registry Server 拉取容器镜像 | ecs unpack | 解包容器镜像为容器 Bundle 到指定路径 | ecs create | 创建指定路径的容器 Bundle 并注册指定 ID 的容器 | ecs delete | 删除指定路径的容器 Bundle | ecs reg | 注册指定 ID 的容器到系统 | ecs unreg | 从系统注销指定 ID 的容器 | ecs list | 列出所有已注册的容器 | ecs list load | 加载本地文件保存的容器注册信息 | ecs list save | 保存已注册的容器信息到本地文件 | ecs start | 启动指定 ID 的容器 | ecs kill | 向指定 ID 的容器发送信号,此命令可用于停止容器运行 | ecs inspect | 查看指定 ID 的容器配置信息 | ecs events | 查看指定 ID 的容器资源使用情况 | ecs state | 查看指定 ID 的容器运行状态 | ecs ps | 查看指定 ID 的容器内进程信息 | ecs pause | 暂停指定 ID 的容器运行 | ecs resume | 恢复指定 ID 的容器运行 | ecs unpause | 同 ecs resume | ecs attach | 将当前 shell 终端附加到指定 ID 的容器中 | ecs exec | 在指定 ID 的容器中执行命令 | ecs save | 保存容器 Bundle 为容器镜像包 | ecs load | 加载容器镜像包为容器 Bundle | ecs cp | 在容器与宿主文件系统之间拷贝文件 | ecs port | 查看容器的端口映射 | ecs version | 打印 ecs 管理命令的版本信息 |
4. SylixOS 访问ECS Registry Server
SylixOS 支持从ECS Cloud、ECS Manager、Docker Hub 等ECS Registry Server 拉取容器镜像。
需注意SylixOS 设备访问互联网需将对应网口设置为有效广域网IP 地址,若由网关接入则需配置有效局域网IP 地址。
|
|