Merge pull request #271 from oldthreefeng/patch-2

Update sealos index.md
This commit is contained in:
shaohq
2021-09-01 20:47:52 +08:00
committed by GitHub

View File

@ -10,50 +10,135 @@ meta:
<AdSenseTitle/>
## 离线安装工具特性
# 支持的环境
* 纯golang开发只需一个二进制无任何依赖
* 内核本地负载不依赖haproxy keepalived等
* 不依赖ansible
* 99年证书
* 支持自定义配置安装
* 工具与资源包分离,离线安装,安装不同版本仅需要更换不同资源包即可
* 支持ingress kuboard prometheus等APPaddons安装
## Linux 发行版, CPU架构
## 离线安装步骤
* Debian 9+, x86_64/ arm64
* Ubuntu 16.04, 18.04, 20.04, x86_64/ arm64
* Centos/RHEL 7.6+, x86_64/ arm64
* 其他支持 systemd 的系统环境. x86_64/ arm64
* 在局域网内准备好4台机器假设
* 三台 masterIP地址为 192.168.0.2、192.168.0.3、192.168.0.4
* 一台 workerIP地址为 192.168.0.5
* 在任何一台机器上执行如下两行命令
## kubernetes 版本
::: tip 机器要求
* 内核3.10以上推荐4.14以上centos7.2以上或者ubuntu16.04以上
* master节点配置不低于2核4G
* 所有机器 root 用户密码一致(如不一致也可以使用 ssh 密钥,可参考 [sealos](https://github.com/fanux/sealos)
* 主机名不要重复
* 机器时间需要同步
:::
* 1.16+
* 1.17+
* 1.18+
* 1.19+
* 1.20+
* 1.21+
* 1.22+
``` sh
wget https://github.com/fanux/sealos/releases/download/v3.0.1/sealos \
&& chmod +x sealos && mv sealos /usr/bin
# 请修改 passwd、master、node 这几个参数
sealos init --passwd 123456 \
更多版本支持, 详细查看[sealyun.com](https://www.sealyun.com)
## 要求和建议
* 最低资源要求
* 2 vCpu
* 4G Ram
* 40G+ 存储
* 操作系统要求
* ssh 可以访问各安装节点
* 各节点主机名不相同并满足kubernetes的主机名要求。
* 各节点时间同步
* 网卡名称如果是不常见的,建议修改成规范的网卡名称, 如(eth.*|en.*|em.*)
* kubernetes1.20+ 使用containerd作为cri. 不需要用户安装docker/containerd. sealos会安装1.3.9版本containerd。
* kubernetes1.19及以下 使用docker作为cri。 也不需要用户安装docker。 sealos会安装1.19.03版本docker
* 网络和 DNS 要求:
* 确保 /etc/resolv.conf 中的 DNS 地址可用。否则可能会导致群集中coredns异常。
* 如果使用阿里云/华为云主机部署。 默认的pod网段会和阿里云的dns网段冲突 建议自定义修改pod网段, 在init的时候指定`--podcidr` 来修改。
* sealos 默认会关闭防火墙, 如果需要打开防火墙, 建议手动放行相关的端口。
* 内核要求:
* cni组件选择cilium时要求内核版本不低于5.4
# 🚀 快速开始
> 环境信息
主机名|IP地址
---|---
master0|192.168.0.2
master1|192.168.0.3
master2|192.168.0.4
node0|192.168.0.5
服务器密码123456
**kubernetes .0版本不建议上生产环境!!!**
> 只需要准备好服务器,在任意一台服务器上执行下面命令即可
```sh
# 下载并安装sealos, sealos是个golang的二进制工具直接下载拷贝到bin目录即可, release页面也可下载
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \
chmod +x sealos && mv sealos /usr/bin
# 下载离线资源包
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/05a3db657821277f5f3b92d834bbaf98-v1.22.0/kube1.22.0.tar.gz
# 安装一个三master的kubernetes集群
$ sealos init --passwd '123456' \
--master 192.168.0.2 --master 192.168.0.3 --master 192.168.0.4 \
--node 192.168.0.5 \
--pkg-url https://sealyun.oss-cn-beijing.aliyuncs.com/413bd3624b2fb9e466601594b4f72072-1.17.0/kube1.17.0.tar.gz \
--version v1.17.0
--pkg-url /root/kube1.22.0.tar.gz \
--version v1.22.0
```
### 参数含义
> 参数含义
参数名|含义|示例
---|---|---
passwd|服务器密码|123456
master|k8s master节点IP地址| 192.168.0.2
node|k8s node节点IP地址|192.168.0.5
pkg-url|离线资源包地址,支持下载到本地,或者一个远程地址|/root/kube1.16.0.tar.gz
version|资源包对应的版本|v1.17.0
node|k8s node节点IP地址|192.168.0.3
pkg-url|离线资源包地址,支持下载到本地,或者一个远程地址|/root/kube1.22.0.tar.gz
version|[资源包](https://www.sealyun.com/goodsDetail?type=cloud_kernel&name=kubernetes)对应的版本|v1.22.0
> 增加master
```shell script
🐳 → sealos join --master 192.168.0.6 --master 192.168.0.7
🐳 → sealos join --master 192.168.0.6-192.168.0.9 # 或者多个连续IP
```
> 增加node
```shell script
🐳 → sealos join --node 192.168.0.6 --node 192.168.0.7
🐳 → sealos join --node 192.168.0.6-192.168.0.9 # 或者多个连续IP
```
> 删除指定master节点
```shell script
🐳 → sealos clean --master 192.168.0.6 --master 192.168.0.7
🐳 → sealos clean --master 192.168.0.6-192.168.0.9 # 或者多个连续IP
```
> 删除指定node节点
```shell script
🐳 → sealos clean --node 192.168.0.6 --node 192.168.0.7
🐳 → sealos clean --node 192.168.0.6-192.168.0.9 # 或者多个连续IP
```
> 清理集群
```shell script
🐳 → sealos clean --all
```
# ✅ 特性
* 支持ARM版本离线包v1.20版本离线包支持containerd集成完全抛弃docker
* 99年证书, 支持集群备份,升级
* 不依赖ansible haproxy keepalived, 一个二进制工具0依赖
* 离线安装不同kubernetes版本下载对应不同版本的[资源包](https://www.sealyun.com/goodsDetail?type=cloud_kernel&name=kubernetes)即可,离线包包含所有二进制文件配置文件和镜像
* 高可用通过ipvs实现的localLB占用资源少稳定可靠类似kube-proxy的实现
* 几乎可兼容所有支持systemd的x86_64架构的环境
* 轻松实现集群节点的增加/删除
* 上千用户在线上环境使用sealos稳定可靠
* 资源包放在阿里云oss上再也不用担心网速
* dashboard ingress prometheus等APP 同样离线打包,一键安装
[了解一下这是怎么做到的](https://github.com/fanux/sealos)