[CI SKIP] update docs

This commit is contained in:
fanux
2019-11-07 10:13:22 +08:00
parent 923f496626
commit 1c32057a68
+7 -107
View File
@@ -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
```
```