开源中国-最新资讯 ( ) • 2024-03-22 00:10

一、项目简介

玄湾OS 是云原生 OS 的重要组件之一。玄湾项目聚焦于镜像的构建和升级。常规的 OS 镜像一般是通过 Linux 发行版衍生而来,在云原生场景下,具有体积臃肿、版本零散、攻击面广等不足。玄湾项目的引入,就是为了解决传统的镜像构建和升级带来的弊端。

玄湾项目的功能分类包括:

构建系统: 玄湾可以根据不同产品需求,可配置其包含的组件。组件可以来自指定软件仓库,也可以通过源代码编译产生。组件分为:基础组件(无需配置)和产品组件;

升级系统: 玄湾提供快速升级机制以及异常版本回退机制,并且基于 overlayfs 实现的只读根文件系统 A/B 盘方式升级,同时提供受控可供用户安装的隔离空间。既防止了系统的碎片化,又保证了一定的灵活性。

测试系统: 自动化容器部署测试工具。基于构建出的系统镜像创建虚拟机测试组,自动部署测试容器。支持多虚拟机部署,自动统计测试结果。

二、诞生背景

常规的虚拟机镜像一般是通过 Linux 发行版衍生而来,该类型的镜像通常需要人为的去管理和控制镜像的内容和版本,这就造就镜像可能会比较臃肿,也可能非常不可靠,容易引发一些意想不到的问题。

同时对于镜像中包含的组件以及组件的依赖问题,都是完全靠不断的经验尝试来获得一个组合,而且不同的产品可能有不同的需求,重复的工作又要完全重新做一次。另外如果针对某个特殊需求增加一个组件,有不同的增加方式比如:二进制方式、rpm 包方式,这导致了组件管理的混乱,开发人员很难说清一个镜像中包含/不包含某个组件。

版本碎片化也是云环境下的一个痛点,版本不一致的问题在云环境比较严重,众多小版本,无疑为运维节点和排查问题增添了很多困难。很多情况下有些问题在高版本中修复后,在低版本中又会出现。我们并没有提供给用户一个较为可靠的升级工具,使得推动用户升级变得格外困难。这里的升级包括的内核升级和组件升级。

玄湾项目的引入,就是为了解决传统的镜像构建和升级带来的弊端。

三、特性优势

玄湾OS 启动速度快,资源占用少,并且集成 Kernel、Linux 发行版和容器运行时为一体,意在为使用者提供一个专为容器安全运行的轻量级云原生操作系统。 然而,玄湾OS 不仅仅解决了传统容器镜像的弊端,而且还引入了一些新的特性。

玄湾OS 拥有如下几个特性:

轻量化:玄湾OS 内冗余应用和冗余库较少,只包含必要的基础库。同时在构建时是以 rpm/yum 作为包管理机制来管理所有组件以及解决依赖,但是构建成镜像后就完全去掉了包管理器,这样大大减少了资源的占用。

安全性:玄湾OS 根文件系统默认只读,并能控制客户登录,且登录的客户仅能操作部分目录(overlay目录)。另外,玄湾OS内的基础组件将逐渐切换到 rust 语言,并能充分利用 rust 的内存安全特性。

统一配置:为了方便客户使用,玄湾OS 将容器环境需要的内容全部整合到一起,配置统一无差异,不会出现配置满天飞的情况。

内核更新:玄湾OS 支持主备镜像升级/回退,可以有效解决因磁盘或电源异常导致的宕机问题。

内核优化:玄湾OS 优化了内核组件,提升了系统启动速度,系统内核启动完成仅需 1s。

构建环境安全:玄湾OS 的构建是采用容器环境隔离的方式来进行,因此,不影响构建系统本身。

四、开源规划

玄湾项目目前已在 OpenCloudOS 开源了构建系统和自动化测试组件,后续会先进一步完善构建系统基于 OC 社区的 OpenCloudOS 9 以及 Stream 版本的兼容支持,完善自动化测试组件中测试工具的容器化部署,定制基于 OpenCloudOS 的轻量容器模版。

欢迎广大开发者使用,参与项目贡献。

项目地址:https://gitee.com/OpenCloudOS/xuanwan