阿里开源集群镜像技术,实现整个集群整体打包

sealer是阿里巴巴开源的集群镜像工具,它将整个集群打包为一个资源包,简化了分布式软件的部署和交付。通过Kubefile构建CloudImage,一条命令即可运行整个集群。sealer适用于安装Kubernetes、云原生生态软件、SaaS软件的整体打包和交付等场景,提供快速、一致性和高度兼容的集群管理体验。
摘要由CSDN通过智能技术生成

作者 | fanux.中弈, sealos作者,pouch maintainer, sealer创始人

项目地址:https://github.com/alibaba/sealer

什么是集群镜像

顾名思义和操作系统.iso镜像或者Docker镜像类似,集群镜像是用一定的技术手段把整个集群的所有文件以一定格式打成的一个资源包 对比单机和集群会发现一些有趣现象:

  • 单机有计算存储网络这些驱动,集群有CNI/CSI/CRI的实现像是集群的驱动
  • 操作系统单机有ubuntu centos这些,我们可以把kubernetes看成云操作系统
  • 单机上可以运行docker容器 或者是虚拟机,相当于一个运行的实例,集群也有运行着k8s的实例
  • 单机上的虚拟机镜像,docker镜像,所以随着云计算技术的发展,在集群这个纬度也会抽象出类似的镜像技术。

以基于kubernetes的集群镜像为例,里面包含了除操作系统以外的所有文件:

  • docker的依赖的二进制与systemd配置,dockerd的配置,以及一个私有的容器镜像仓库
  • kubernetes核心组件二进制,容器镜像,kubelet system配置等
  • 应用需要用到的yaml配置或者helm chart,以及应用的容器镜像
  • 其它脚本,配置与二进制工具等应用运行需要的所有依赖

同样集群镜像运行时肯定不是起一个容器或者装在一台机器上,而是这个镜像可以直接安装到多台服务器上或者直接对接到公有云的基础设施上。

sealer介绍

sealer是阿里巴巴开源的集群镜像的一个实现方式,项目地址: https://github.com/alibaba/sealer 要实现集群。 Docker解决了单个容器的镜像化问题,而sealer通过把整个集群打包,实现了分布式软件的Build Share Run!!!

试想我们要去交付一个SaaS应用,它依赖了mysql es redis这些数据库和中间件,所有东西都在kubernetes上进行编排,那如果没有集群镜像那要做如下操作:

  1. 找个工具去安装k8s集群
  2. helm install mysql es redis... 如果是离线环境可能还需要导入容器镜像
  3. kubectl apply yoursaas

看似好像也没那么复杂,但是其实从整个项目交付的角度来说是面向过程极易出错的 ​

那现在如果现在提供另外一个方式只要一条命令解决上面的问题你会不会用? sealer run your-saas-application-with-mysql-redis-es:latest 可以看到只需要run一个集群镜像整个集群就被整体交付了,细节复杂的操作都被屏蔽掉了,而且任何应用都可以使用相同的方式运行。那这个集群镜像是怎么来的呢:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值