一、项目简介
玄湾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
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
技术文延迟了 本来计划参加活动的还有一篇,应该是一篇技术服务器托管网翻译文,但是那篇文章太难了,看我过我以往文章的同学,应该能理解,我的文章很少有3000字数以下的,而且如果不是来自谷歌(主要因为是内容都反复被验证过,其次公开资料也不存在内容侵权),就一定会是…