k8s sealos应用安装及应用包制作教程

540 篇文章 111 订阅

应用安装

安装APP如dashboard ingress

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

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

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

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

APP名安装示例
kuboardsealos install --pkg-url https://github.com/sealstore/dashboard/releases/download/v1.0-1/kuboard.tar
dashboardsealos install --pkg-url https://github.com/sealstore/dashboard/releases/download/v2.0.0-bata5/dashboard.tar
prometheussealos install --pkg-url https://github.com/sealstore/prometheus/releases/download/v0.31.1/prometheus.tar
ingresssealos 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 -n kubernetes-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的节点执行一次
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.tarx
START如启动dockersystemctl start dockerx
STOP如停止dockersystemctl stop dockerx
REMOVE如清理镜像docker rmi -f …x
APPLY如部署yaml文件kubectl apply -k .x
DELETE如删除yamlkubectl 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/config.yaml sealos init (3.0.1以上版本)时把相关参数存入配置文件, 供执行clean, install命令使用

dashboard 包制作事例

  • 创建工作目录
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

参考链接:
https://www.sealyun.com/instructions

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

学亮编程手记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值