sealer-阿里开源的实现像docker一样封装整个kubernetes集群

概念

sealer可以像docker那样把整个集群制作成镜像,实现分布式软件的构建、交付、运行。

 

 

应用场景:

  • kubernetes集群安装
  • kubernetes集群、数据库、中间件、SaaS应用整体打包,一键交付
  • 离线交付,多架构支持,国产化支持
  • 各种在kubernetes上编排的分布式应用交付

Clusterfile:用户自定义kubeadm,helm values 等配置的覆盖或合并,plugins,你可以覆盖或合并任何你想要的配置文件。像chart values、docker daemon.json、kubeadm 配置文件等。创建自定义的Clusterfile,使用如下命令创建集群

sealer apply -f Clusterfile

Kubefile:是一个文本文档,包含用户可以在命令行上调用的所有命令来组装映像。我们可以使用Kubefile来定义可以离线共享和部署的集群映像。Kubefile就像它包含定义特定Dockerfile集群的构建指令一样。

创建Kubefile文件

FROM registry.cn-qingdao.aliyuncs.com/sealer-apps/openebs-localpv:2.11.0
COPY prometheus manifests
CMD kubectl apply -f prometheus/crd.yaml
CMD kubectl apply -f prometheus/operator.yaml

执行如下命令构建自定义的集群镜像

sealer build -f Kubefile -t prometheus:2.30.0 --base=false .

使用sealer管理kubernetes集群

安装sealer

#下载软件
wget https://github.com/sealerio/sealer/releases/download/v0.8.5/sealer-v0.8.5-linux-amd64.tar.gz 
#解压缩
tar zxvf sealer-v0.8.5-linux-amd64.tar.gz 
#移动到/usr/bin目录
mv sealer /usr/bin

启动一个kubernetes集群

sealer run kubernetes:v1.19.8 \
  --masters 10.10.20.201,10.10.20.202,10.10.20.203 \
  --node10.10.20.204,10.10.20.205,10.10.20.206 --passwd xxx

增加删除节点

sealer join --masters 192.168.0.2,192.168.0.3,192.168.0.4
sealer join --nodes 192.168.0.5,192.168.0.6,192.168.0.7

删除集群

创建集群会默认创建一个集群文件存储在/root/.sealer/[cluster-name]/Clusterfile,里面包含集群元数据信息。

sealer delete -f /root/.sealer/my-cluster/Clusterfile
# 或者
sealer delete --all

升级 Kubernetes 集群

sealer upgrade registry.cn-beijing.aliyuncs.com/sealer-io/kubernetes:v1.19.9_develop -c my-cluster

集群镜像

基于base镜像创建自定义的Cloud images,创建kubefile

FROM kubernetes:v1.19.8
COPY imageList manifests
COPY apollo charts
COPY helm /bin
CMD helm install charts/apollo
COPY recommended.yaml manifests
CMD kubectl apply -f manifests/recommended.yaml
  • manifests 目录: 这是一个特殊的目录,sealer build的时候会解析这个目录下面的所有yaml文件并把里面的容器镜像地址提取出来,然后拉取。用户标准的kubernetes yaml不放在这个目录的话不会处理。
  • charts 目录: 这也是一个特殊目录,sealer会执行helm template的能力,然后提取chart中的容器镜像地址,拉取并存储到集群镜像中。chart不拷贝到这个目录下不处理。
  • manifests/imageList: 这是个特殊的文件里面是其它需要拉取的镜像地址列表,比如镜像地址在CRD中sealer解析不到,那就需要手动配置到这个文件中。

构建镜像

sealer build -t my-cluster:v1.19.9 .

私有镜像仓库

集群镜像也可以被推送到docker registry中,诸如harbor一类的镜像仓库

集群镜像上传

#登录镜像仓库
sealer login registry.cn-qingdao.aliyuncs.com -u username -p password
#给镜像打标签
sealer tag dashboard:latest registry.cn-qingdao.aliyuncs.com/sealer-io/kuberentes:v1.19.8
#上传集群镜像
sealer push registry.cn-qingdao.aliyuncs.com/sealer-io/kuberentes:v1.19.8
#下载集群镜像
sealer pull registry.cn-qingdao.aliyuncs.com/sealer-io/kuberentes:v1.19.8

 镜像导入导出

sealer save -o dashboard.tar dashboard:latest
# 可以把tar拷贝到客户环境中进行load
sealer load -i dashboard.tar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忍冬行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值