sealos 是以kubernetes为内核的云操作系统发行版
早期单机操作系统也是分层架构,后来才演变成 linux windows这种内核架构,云操作系统从容器诞生之日起分层架构被击穿,未来也会朝着高内聚的"云内核"架构迁移
核心能力
kubernetes是手段不是目的
对于大众用户来说kubernetes并不重要,重要的是kubernetes上面跑了什么东西,这些东西才是用户最终关心的,中间过程并不关心。 当然熟悉kubernetes的极客不用担心,你同样会有非常好的使用体验。
化整为零,不同的应用,不同的形态
sealos 最简单的版本几乎不包含任何东西,除了最最基本的集群镜像的能力,其它能力几乎都是通过应用云扩展的,最基础的sealos除了一个很"裸"的kuberentes不包含其他任何东西。 这使得sealos可以很简单,也可以很强大,可以个人使用,也可以服务公有云这种庞大的多租户应用场景,可以在一台机器上玩,也可以在数千台服务器上大规模运行。
包容性
意味着不管你是什么样的喜好都可以在sealos上得到完美使用体验,比如以CI/CD场景为例,有些用户喜欢drone 有些喜欢argo,这两类用户只需要自己安装不同应用即可,sealos不会深度集成某一款CI/CD工具 用户自由的安装卸载。
sealos不会追求系统上分布式应用风格的统一,就像macOS上的office软件和Email软件不可能一致一样,这样的好处是给不同的分布式软件最大发挥空间,不然sealos会花非常大的代价让他们统一,一旦某个技术 被淘汰意味着极大的替换成本。
sealos也不会追求各种软件账户信息的统一,因为不同的分布式软件有不同账户管理方式,这些管理方式对其应用自身的适配性是最强的。
不同的用户不同的使用方式
和macOS很类似,普通大众用户用图形界面,开发者终端敲敲命令,系统应用开发者调用system API sealos的大众用户用GUI或者简单的一键使用,云原生从业者kubectl 各种dashboard 所有apiserver, 开发者直接基于kubernetes开发operator
简单不失强大
sealos提供的是最基础的系统框架,其强大的能力都由上层应用提供,sealos的职责是管理好这些应用,所以系统复杂度不会随着功能的增加而变复杂。
安装一个高可用的kubernetes集群,并用calico作为网络插件
这里的 kubernetes:v1.24.0
和 calico:v3.22.1
就是存在registry里的集群镜像,完全兼容OCI标准, 当然聪明同学立马想到是不是可以用flannel,答案是当然!
# 下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载 wget -c https://sealyun-home.oss-cn-beijing.aliyuncs.com/sealos-4.0/latest/sealos-amd64 -O sealos && \ chmod +x sealos && mv sealos /usr/bin # 创建一个集群 sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 \ --masters 192.168.64.2,192.168.64.22,192.168.64.20 \ --nodes 192.168.64.21,192.168.64.19 -p [your-ssh-passwd]
构建一个自定义集群镜像
存储/消息/数据库 等
接下来请不要震惊:
sealos run labring/helm:v3.8.2 # 安装helm sealos run labring/openebs:v1.9.0 # 安装openebs sealos run labring/minio-operator:v4.4.16 labring/ingress-nginx:4.1.0 \ labring/mysql-operator:8.0.23-14.1 labring/redis-operator:3.1.4 # 喜欢的话可以把它们写一起
然后你就啥都有了
关于3.9的版本部署可以参考:使用sealos离线部署kubernates(k8s)_男孩李的博客-CSDN博客_sealos