一、先决条件
- 每个集群节点应该有不同的主机名。
- 需要在 K8s 集群的第一个 master 节点上运行 sealos run 命令。
- 建议使用干净的操作系统来创建集群。不要自己装 Docker!
- 支持大多数 Linux发行版,例如:Ubuntu、CentOS、Rocky linux。
- 支持 Docker Hub 中的所有 Kubernetes 版本。
- 支持使用 Containerd 作为容器运行时。
- Sealos默认提供了一个私有镜像仓库。
- 所有操作必须使用 Root 用户执行。
二、准备(在所有主机上执行)
1、编辑/etc/hosts文件
vim /etc/hosts
添加
192.168.64.2 master01
192.168.64.22 master02
192.168.64.20 master03
192.168.64.21 node01
192.168.64.19 node02
2、安装用到的依赖
apt update
apt install curl jq ebtables socat iptables -y
三、在Master01主机上执行部署脚本
1、(方式一)在线安装
1、下载 Sealos 命令行工具
去到https://github.com/labring/sealos/releases下载对应的系统版本,比如我这边下载的是:
sealos_5.0.1_linux_amd64.tar.gz
2、在Master01主机上安装Sealos 命令行工具
tar zxvf sealos_5.0.1_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
3、在Master01主机上执行脚本,开始安装K8s
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
--masters 192.168.64.2,192.168.64.22,192.168.64.20 \
--nodes 192.168.64.21,192.168.64.19 -p your-ssh-passwd
其中,在执行过程中会要求输入master01的主机名,按要求输入回车即可。
至此,在线安装流程已完成。
.
.
.
2、(方式二)离线安装
1、下载 Sealos 命令行工具
去到https://github.com/labring/sealos/releases下载对应的系统版本,比如我这边下载的是:
sealos_5.0.1_linux_amd64.tar.gz
2、在Master01主机上安装Sealos 命令行工具
tar zxvf sealos_5.0.1_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
3、首先要在有网络的环境中拉取镜像并导出K8s集群镜像
# 拉取镜像
sealos pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0
# 将镜像打成tar包
sealos save -o kubernetes.tar registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0
sealos pull registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4
sealos save -o helm.tar registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4
sealos pull registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4
sealos save -o cilium.tar registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4
将相关的tar包下载导出到离线的Master01主机上。
4、在Master01主机上导入刚刚的tar包镜像
# 逐个导入
sealos load -i kubernetes.tar
sealos load -i helm.tar
sealos load -i cilium.tar
# 查看集群镜像是否导入成功
sealos images
5、开始安装K8s集群
在Master01主机上,执行以下命令
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.0 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
--masters 192.168.64.2,192.168.64.22,192.168.64.20 \
--nodes 192.168.64.21,192.168.64.19 -p your-ssh-passwd
其中,在执行过程中会要求输入master01的主机名,按要求输入回车即可。
至此,离线安装已完成。
.
.
需知:
1、文章部署的k8s高可用集群是使用 Containerd 作为容器运行时。
2、采用 Cilium 作为网络插件CNI
3、Sealos官方默认提供了一个私有镜像仓库,sealos 的私有仓库默认运行在集群的第一个节点上,第一个节点是指创建集群的时候输入的第一个节点的地址,使用下面的命令查看守护进程的状态。
systemctl status registry.service
注意:仓库的数据保存在 /var/lib/sealos/data/default/rootfs/registry/ 目录下。
使用 sealos login 命令来进行登录,默认用户名与密码是 admin:passw0rd
sealos login -u admin -p passw0rd 192.168.64.2:5000
推送与拉取镜像举例:
sealos tag quay.io/skopeo/stable 192.168.72.50:5000/skopeo/stable # 重新打tag
sealos push 192.168.64.2:5000/skopeo/stable # 推送到本地的私有镜像仓库
推送到192.168.64.2:5000私有仓库的镜像,其他节点获取镜像时,会优先从这里拉取。
.
可能会用到的命令:
增加 K8s 节点
1、增加 node 节点:
sealos add --nodes 192.168.64.21,192.168.64.19
2、增加 master 节点:
sealos add --masters 192.168.64.21,192.168.64.19
删除 K8s 节点
1、删除 node 节点:
sealos delete --nodes 192.168.64.21,192.168.64.19
2、删除 master 节点:
sealos delete --masters 192.168.64.21,192.168.64.19
3、清理 K8s 集群
sealos reset
更多命令请参考Sealos官方文档。
此文章参考:Sealos官方文档