sealos包管理使用

小鱼儿 2023-01-03 04:58 200阅读 0赞

安装APP如dashboard ingress
我们把诸如dashboard,prometheus,ingress等等都称之为APP

所有APP都可使用类似 sealos install —pkg-url dashboard.tar的方式安装

为什么不直接kubectl apply? 因为我们把镜像与配置文件和一些脚本都放入tar包中来保障一致性,并可以在没有镜像仓库的情况下帮用户导入镜像

还有就是很多情况下不可避免的要在执行完yaml之后执行一些命令,如安装完dashboard获取token这些

APP名 安装示例
kuboard sealos install —pkg-url https://github.com/sealstore/dashboard/releases/download/v1.0-1/kuboard.tar
dashboard sealos install —pkg-url https://github.com/sealstore/dashboard/releases/download/v2.0.0-bata5/dashboard.tar
prometheus sealos install —pkg-url https://github.com/sealstore/prometheus/releases/download/v0.31.1/prometheus.tar
ingress sealos install —pkg-url https://github.com/sealstore/ingress/releases/download/v0.15.2/contour.tar
dashboard访问
使用上述命令安装完dashboard后日志中会输出token,登录页面时需要使用.

https://你的master地址:32000 chrome访问不了就用火狐

或者使用此命令获取token

kubectl get secret -nkubernetes-dashboard
$(kubectl get secret -n kubernetes-dashboard|grep dashboard-token |awk ‘{print $1}’)
-o jsonpath=’{.data.token}’ | base64 —decode
APP离线包原理
tar cvf dashboard.tar config dashboard.tar.gz
dashboard.tar
dashboard.tar.gz # 包含所有镜像文件,yaml文件,配置文件脚本,具体是什么sealos不关心
config # sealos install 配置文件
config 文件内容:

APPLY指令只会在能访问apiserver的节点执行一次

  1. APPLY kubectl apply -k manifests

LOAD会在sealos过滤出来的每个节点上执行

  1. LOAD docker load -i images.tar

DELETE 命令只会在能访问apiserver节点执行一次

  1. DELETE kubectl delete -k manifests

删除命令,sealos remove命令会调用

  1. REMOVE docker rmi dashboard:2.0.0

指令说明:

指令 作用 事例 在过滤出来的每个节点执行 只针对apiserver执行一次

  1. LOAD 如导入镜像 docker load -i images.tar x
  2. START 如启动docker systemctl start docker x
  3. STOP 如停止docker systemctl stop docker x
  4. REMOVE 如清理镜像 docker rmi -f ... x
  5. APPLY 如部署yaml文件 kubectl apply -k . x
  6. DELETE 如删除yaml kubectl delete -f . x

安装

  1. sealos install --pkg-url dashboard.tar --label role=master --cmd "APPLY kubectl apply -k manifests" --cmd "LOAD docker load -i images.tar"
  2. --pkg 支持本地与http
  3. --label 过滤出k8s集群中指定节点 [开发中]
  4. --cmd 会覆盖config中的指令 [开发中]

或者使用kustomize替换包内镜像版本

  1. sealos install --pkg-url prometheus.tar --cmd \
  2. "APPLY kustomize edit set image sealyun/fist:1.0=sealyun/fist:2.0 && kubectl apply -k manifests"

配置文件
~/.sealos/config.yaml sealos init (3.0.1以上版本)时把相关参数存入配置文件, 供执行clean, install命令使用

dashboard 包制作事例
创建工作目录

  1. mkdir dashboard && cd dashboard

编辑配置文件

  1. echo "LOAD docker load -i image.tar" >> config
  2. echo "APPLY kubectl apply -f dashboard.yaml" >> config
  3. echo "DELETE kubectl delete -f dashboard.yaml" >> config
  4. echo "REMOVE sleep 10 && docker rmi -f dashboard:latest" >> config

下载yaml文件与保存镜像

  1. wget https://..../dashboard.yaml
  2. docker save -o image.tar dashboard:latest

打包

  1. tar cvf dashboard.tar config dashboard.yaml image.tar

安装使用

  1. sealos install --pkg-url ./dashboard.tar

发表评论

表情:
评论列表 (有 0 条评论,200人围观)

还没有评论,来说两句吧...

相关阅读