mirror of
https://github.com/labring/sealos.git
synced 2026-10-28 02:27:18 +08:00
[CI SKIP] update docs
This commit is contained in:
+7
-107
@@ -5,112 +5,6 @@
|
||||
1. 剥离核心组件与上层app
|
||||
2. app安装支持
|
||||
|
||||
## 核心组件安装
|
||||
|
||||
### sealos build命令
|
||||
此命令可以把官方发布的release pages中的软件包转化成sealos离线包格式,提取其中需要的二进制文件(kubeadm kubectl kubelet)和镜像文件。
|
||||
|
||||
使用方式如:
|
||||
```
|
||||
sealos build --raw https://dl.k8s.io/v1.15.3/kubernetes-server-linux-amd64.tar.gz --kubeadm-url https://github.com/fanux/kube/releases/download/v1.15.2-lvscare/kubeadm
|
||||
```
|
||||
输出 kubernetes1.15.3.tar.gz离线包, 这里因为定制了kubeadm,所以也指定kubeadm的地址. 此功能主要是自己用,优先级不高。
|
||||
|
||||
## app安装支持
|
||||
### sealos install
|
||||
install支持离线安装各种app
|
||||
```
|
||||
sealos install prometheus.tar.gz # 离线安装
|
||||
```
|
||||
|
||||
命令格式,如果不指定cmd就使用默认config文件中的cmd,可能是kubectl apply -f xxx 或者kubectl apply -k xxx 或者一个shell:
|
||||
```
|
||||
sealos install [options] [package name] [cmd]
|
||||
```
|
||||
|
||||
[cmd] 可以在config文件中设置默认值
|
||||
|
||||
如对私有仓库支持:
|
||||
```
|
||||
sealos install --registry https://hub.sealyun.com prometheus.tar.gz kubectl apply -f manifests
|
||||
```
|
||||
这样会先把镜像传到用户镜像仓库再执行kubectl apply
|
||||
|
||||
如利用kustomize设置镜像参数:
|
||||
```
|
||||
sealos install prometheus.tar.gz \
|
||||
kustomize edit set image sealyun/fist:1.0=sealyun/fist:2.0 \
|
||||
&& kubectl apply -k manifests
|
||||
```
|
||||
|
||||
|
||||
安装包会放在github的release pages中
|
||||
|
||||
安装包包含镜像文件与kustomize(yaml)配置文件
|
||||
|
||||
如prometheus:
|
||||
```
|
||||
prometheus.tar #app文件
|
||||
config #配置文件
|
||||
images.tar #镜像文件
|
||||
manifests/ #编排文件
|
||||
kustomization.yaml
|
||||
deploy.yaml
|
||||
```
|
||||
|
||||
> 关于config 配置
|
||||
|
||||
```
|
||||
name: cloudkernel
|
||||
cmd: cd shell && sh init.sh # other app may be kubectl apply -f or kubectl apply -k, using sealos install [package name] [cmd]
|
||||
```
|
||||
|
||||
> 关于kubeconfig文件
|
||||
|
||||
sealos install需要kubeconfig文件, 默认在执行sealos命令的机器.sealos/config, 用户可以拷贝之
|
||||
|
||||
```
|
||||
mkdir .sealos
|
||||
scp root@yourapiserverip:/root/.kube/config .sealos/config
|
||||
```
|
||||
|
||||
如果使用sealos安装集群,sealos默认会新建并在集群安装时拷贝kubeconfig文件。
|
||||
|
||||
sealos会把镜像导入集群所有机器中
|
||||
|
||||
> 关于服务器账号与密码
|
||||
|
||||
因为sealos需要把app包拷贝到目标机器进行docker load, 所以在集群init时会把服务器账号密码存在secret中,如果用户不想存init时指定false
|
||||
```
|
||||
sealos init --save-passwd false
|
||||
```
|
||||
|
||||
如果不是使用sealos安装的集群需要自行创建这个secret:
|
||||
```
|
||||
$ echo -n "admin" > ./username.txt
|
||||
$ echo -n "1f2d1e2e67df" > ./password.txt
|
||||
$ kubectl create secret generic sealos-pass --from-file=./username.txt --from-file=./password.txt
|
||||
secret "sealos-pass" created
|
||||
```
|
||||
|
||||
> 服务器列表
|
||||
|
||||
因为已经有了kubeconfig文件,所以可以通过api获取到集群节点列表
|
||||
|
||||
## 不优雅的地方
|
||||
|
||||
* 需要导入到集群的所有节点上,这节点多显然不是很合理
|
||||
* apply时如果在sealos的机器上执行依赖kubectl命令,如果到master0上执行用的会是master0的kubeconfig?
|
||||
|
||||
```
|
||||
# --label命令选择特定标签节点导入镜像, 注意调度器不一定会一定调度到有镜像的节点,可以通过亲和解决
|
||||
sealos install --label role=master dashboard.tar.gz
|
||||
sealos install --host hostname dashboard.tar.gz
|
||||
```
|
||||
|
||||
|
||||
|
||||
===========华丽分割线=============
|
||||
# runtime cloud-kernel apps统一包格式
|
||||
## runtime
|
||||
```
|
||||
@@ -179,6 +73,12 @@ sealos install --pkg-url dashboard.tar --label role=master --cmd "APPLY kubectl
|
||||
* --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时把相关参数存入配置文件, 供执行clean, install命令使用
|
||||
@@ -217,4 +117,4 @@ tar cvf dashboard.tar config dashboard.yaml image.tar
|
||||
|
||||
```cassandraql
|
||||
sealos install --pkg-url ./dashboard.tar
|
||||
```
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user