3.0 两个重要动作:
- 剥离核心组件与上层app
- app安装支持
docker.tar
runtime.tar.gz # 包含所有镜像文件,yaml文件,配置文件脚本,具体是什么sealos不关心, .tar.gz不是必须,压缩只是为了记包更小
config # sealos install 配置文件
config 文件内容:
# LOAD会在sealos过滤出来的每个节点上执行
LOAD sh init.sh
# START会在sealos过滤出来的每个节点上执行
START systemctl start docker
# STOP会在sealos过滤出来的每个节点上执行
STOP systemctl stop docker
# REMOVE会在sealos过滤出来的每个节点上执行
REMOVE sh remove.sh
cloud-kernel.tar
kernel.tar.gz # 包含所有镜像文件,yaml文件,配置文件脚本,具体是什么sealos不关心
config # sealos install 配置文件
安装过程特殊可以不统一
tar cvf dashboard.tar config dashboard.tar.gz
dashboard.tar
dashboard.tar.gz # 包含所有镜像文件,yaml文件,配置文件脚本,具体是什么sealos不关心
config # sealos install 配置文件
config 文件内容:
# APPLY指令只会在能访问apiserver的节点执行一次
APPLY kubectl apply -k manifests
# LOAD会在sealos过滤出来的每个节点上执行
LOAD docker load -i images.tar
# DELETE 命令只会在能访问apiserver节点执行一次
DELETE kubectl delete -k manifests
# 删除命令,sealos remove命令会调用
REMOVE docker rmi dashboard:2.0.0
指令说明:
指令 | 作用 | 事例 | 在过滤出来的每个节点执行 | 只针对apiserver执行一次 |
---|---|---|---|---|
LOAD | 如导入镜像 | docker load -i images.tar | ✓ | x |
START | 如启动docker | systemctl start docker | ✓ | x |
STOP | 如停止docker | systemctl stop docker | ✓ | x |
REMOVE | 如清理镜像 | docker rmi -f ... | ✓ | x |
APPLY | 如部署yaml文件 | kubectl apply -k . | x | ✓ |
DELETE | 如删除yaml | kubectl delete -f . | x | ✓ |
sealos install --pkg-url dashboard.tar --label role=master --cmd "APPLY kubectl apply -k manifests" --cmd "LOAD docker load -i images.tar"
- --pkg 支持本地与http
- --label 过滤出k8s集群中指定节点
- --cmd 会覆盖config中的指令
或者使用kustomize替换包内镜像版本
sealos install --pkg-url prometheus.tar --cmd \
"APPLY kustomize edit set image sealyun/fist:1.0=sealyun/fist:2.0 && kubectl apply -k manifests"
sealos init时把相关参数存入配置文件, 供执行clean, install命令使用
- 创建工作目录
mkdir dashboard && cd dashboard
- 编辑配置文件
echo "LOAD docker load -i image.tar" >> config
echo "APPLY kubectl apply -f dashboard.yaml" >> config
echo "DELETE kubectl delete -f dashboard.yaml" >> config
echo "REMOVE sleep 10 && docker rmi -f dashboard:latest" >> config
- 下载yaml文件与保存镜像
wget https://..../dashboard.yaml
docker save -o image.tar dashboard:latest
- 打包
tar cvf dashboard.tar config dashboard.yaml image.tar
- 安装使用
sealos install --pkg-url ./dashboard.tar