共计 2799 个字符,预计需要花费 7 分钟才能阅读完成。
**\
*
作者:sealer 社区
2022 年 4 月 26 日,云原生计算基金会(CNCF)TOC 例会投票,统一通过 sealer 开源我的项目成为 CNCF 官网沙箱我的项目。sealer 我的项目诞生于阿里云智能,旨在解决分布式软件的打包、散发与运行的标准化问题。我的项目倒退初期,也就是去年 5 月,阿里云的工程师即动摇抉择了开源之路。一年工夫走来,sealer 在独立软件供应商(ISV)市场,失去了宽广用户的青眼。也正是其翻新的思路,以及短时间内的增长较快的用户基数,使 sealer 得以顺利申请并退出 CNCF。5 月 16 日,这个新晋的 CNCF Sandbox 我的项目也将亮相 KubeCon EU 峰会,向寰球云原生开发者分享 sealer 的技术架构、社区停顿和 Roadmap。
sealer 我的项目地址:
https://github.com/sealerio/s…
我的项目架构
总体而言,Kubefile 是 sealer 的外围翻新点。迄今为止,sealer 是行业中第一个形象出“集群镜像”的概念,通过 Kubefile(一个相似 Dockerfile 的形容文件)去构建整个集群的镜像,并使之能够在任意中央运行的我的项目。通过 Kubefile 构建出的集群镜像,能够将整个集群依赖的所有文件打包在一起,一条命令实现分钟级运行。
如须要交付一个集群,外面蕴含高可用的 MySQL、redis 和 WordPress, 只须要定义一个文件 Kubefile,和 Dockerfile 很相似,用 sealer build 命令之后就能够把 Kubernetes 与以上所有组件的所有依赖全副打包到 CloudImage 中,再由 CMD 命令来指定集群启动之后须要执行的命令。
比照 Docker 的 workflow,sealer 能够定义一个 Kubefile build 和一个 CloudImage 而后通过 Clusterfile 传入整个集群须要的参数如服务器 IP 地址列表或者组件配置,最初 sealer run 就能够实现整个集群的交付。
性能劣势
Docker 镜像很好地解决了单利用的打包问题,然而没有解决分布式应用的镜像问题。helm 这类编排工具解决了编排问题,没有解决打包问题。目前集群没有打包规范,构建一个自定义的 Kubernetes 集群也比较复杂,整个集群 + 分布式应用部署也只是面向过程,交付问题爆炸却每每得不到干净利索的解决,集群整体交付一致性差。特地是在专有云交付畛域,一个分布式软件往往有十分多的配置,以及很多利用镜像和依赖,甚至有些状况还须要在离线状况下进行交付,交付过程面临着十分大的挑战。
集群镜像把整个集群看成一台服务器,把 Kubernetes 看成云操作系统,实现整个集群的镜像化打包和交付,为企业级软件提供一种“开箱即用”的利用封装技术。通过非常简单的形式把一个利用的所有依赖进行标准化打包,一键运行到客户的集群中去,并且能够兼容简单的基础设施,只需保障集群镜像构建过程没问题运行就没问题。集群镜像市场中会提供十分多曾经构建好的可复用镜像,软件的使用者能够像搭建积木一样灵便地组合这些镜像服务与本人的利用,如 SaaS 利用依赖的数据库,音讯队列,甚至 Kubernetes 自身都能够间接在市场中找到。
应用集群镜像技术最终能帮忙企业一键拉起一个简单的自定义集群,大幅晋升交付效率,升高交付出错率,间接复用成熟稳固的组件也可使软件稳定性大大晋升。交付人员不必再关怀简单的部署细节,解决了软件生产者和使用者之间的合作问题。
- 简略,会 Docker 的人都很容易接受 sealer 构建整个集群镜像的形式,一条命令就能运行起简单的集群
- 高效,sealer 可在数分钟之内疾速启动整个集群,且关上 nydus 个性能够把大镜像散发性能晋升 60%
- 稳固,目前曾经数十家企业应用 sealer,且有十分高的适配性,简直兼容所有支流的 Linux 零碎
- 功能强大,反对配置管理、插件治理、多架构、GPU、containerd 等等个性
应用场景
- Kubernetes 集群自身的装置与生命周期治理
- 中间件,数据库与 SaaS 利用整体打包,一键运行
- 离线交付,云上交付
- 国产化,GPU 等反对
- 一键运行各种高可用中间件与服务,如 MySQL/Kafka/Redis 集群等
- 自在组装集群能力,能够通过 Kubefile 或者集群镜像组合生成合乎用户需要的自定义镜像
社区停顿
目前 sealer 共领有 52 名贡献者,9 名 maintainer 别离来自阿里云,政采云,讯飞,博彦,浙江大学,realAI。目前有数十家客户在实际 sealer。
sealer 目前用户接口已趋于稳定,在过来的一年中进行了大量的优化,比方构建一个集群镜像从最后须要 25 分钟 升高到目前的 3 分钟,大镜像的运行时性能从 1 小时升高到十分钟以内,最小化集群仅需 3 分钟,对接私有云驱动从最后的 3 分钟升高到 29 秒。
在用户体验层面,4 月份公布的 0.8 版本升级了 Clusterfile 至 2.0 版本,更加精简,易于扩大,并齐全兼容所有 kubeadm 的配置,通过深度合并的形式反对集群镜像中任意配置的批改,插件上也更灵便丰盛,反对全生命周期插件,自定义执行脚本能力,反对应用 Go 编程语言开发 out-of-tree 插件。out-of-tree 的插件机制提供了更加自在的定制 sealer 的能力。
生态方面,sealer 反对 20 多款通用集群镜像如 Prometheus、MySQL、Redis、Kafka 等,意味着用户能够应用 sealer run mysql:8.0 这样的命令一键启动一个高可用 mysql 集群。
阿里云开源的 ACK 容器服务发行版 ACK Distro [ 1] 和阿里云技术中台收费下载应用的 CNStack 社区版 [2 ] 也是基于 sealer 技术实现了整个容器平台的打包,散发和交付能力。同时,容许社区开发人员在这些我的项目的根底上通过 sealer 的 Kubefile 扩大,减少开源或者自有组件,创立更简单的软件栈,反对更多的利用场景。
Roadmap
- sealer 在现有每个性能上继续优化,并打造精品集群镜像,让各种生产可用的集群镜像信手拈来
- 反对更多的运行时,如 k3s k0s
- 进一步晋升性能,让整个应用体验更疾速高效,甚至实现整个集群“秒极”启动的能力
- 进一步增强社区治理,细化 maintainer 减少与退出规定,让整个社区朝着更凋谢的方向倒退
sealer 的核心理念是像 Docker 一样构建整个集群以及分布式应用,在整个集群纬度保障一致性,实现整个集群里所有分布式软件的 Build、Share、Run!
更多举荐
[1] ACK Distro:
https://www.aliyun.com/produc…
[2] CNStack 社区版:
https://github.com/alibaba/CN…
欢送钉钉扫描下方二维码或搜寻群号 34619594 退出 CNCF sealer 社区交换钉群!
戳 此处 ,立刻理解 sealer 我的项目!