From 324f1f46926ccf5aff69db7f8c96a0b393686903 Mon Sep 17 00:00:00 2001 From: louis <38313565+oldthreefeng@users.noreply.github.com> Date: Wed, 25 Aug 2021 18:08:47 +0800 Subject: [PATCH] Update index.md --- install/sealos/index.md | 147 +++++++++++++++++++++++++++++++--------- 1 file changed, 116 insertions(+), 31 deletions(-) diff --git a/install/sealos/index.md b/install/sealos/index.md index 6bb097d..edab2be 100644 --- a/install/sealos/index.md +++ b/install/sealos/index.md @@ -10,50 +10,135 @@ meta: -## 离线安装工具特性 +# 支持的环境 -* 纯golang开发,只需一个二进制,无任何依赖 -* 内核本地负载,不依赖haproxy keepalived等 -* 不依赖ansible -* 99年证书 -* 支持自定义配置安装 -* 工具与资源包分离,离线安装,安装不同版本仅需要更换不同资源包即可 -* 支持ingress kuboard prometheus等APP(addons)安装 +## 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台机器,假设: - * 三台 master,IP地址为 192.168.0.2、192.168.0.3、192.168.0.4 - * 一台 worker,IP地址为 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)