一、什么是sealos
Sealos是一个功能强大、简单易用的云操作系统,它基于Kubernetes构建,提供了丰富的功能特性和灵活的应用商店,旨在降低云原生的门槛与成本,使用户能够更加轻松地享受云计算所带来的便利。
二、安装Sealos命令行工具
- 2.1 获取Sealos版本列表
$ curl --silent "https://api.github.com/repos/labring/sealos/releases" | jq -r '.[].tag_name'
v5.0.0-beta5
v5.0.0-beta4
v4.4.0-beta3
v5.0.0-beta3
v5.0.0-beta2
v5.0.0-beta1
v4.3.7
v5.0.0-alpha2
v4.3.7-rc1
...
此处如果出现-bash: jq: command not found
未找到命令异常,可以先安装jq命令
yum install epel-release
yum install -y jq
- 2.2 选择安装版本
设置VERSION
环境变量为 latest 版本号,或者将 VERSION 替换为您要安装的 Sealos 版本:
$ VERSION=`curl -s https://api.github.com/repos/labring/sealos/releases/latest | grep -oE '"tag_name": "[^"]+"' | head -n1 | cut -d'"' -f4`
查看当前安装的版本
$ echo $VERSION
v4.3.7
- 2.3 下载和安装sealos
$ curl -sfL https://mirror.ghproxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | PROXY_PREFIX=https://mirror.ghproxy.com sh -s ${VERSION} labring/sealos
三、安装K8s集群
Sealos 支持安装 amd64 和 arm64 架构的 K8s 集群。
以下是一些基本的安装要求:
1. 每个集群节点应该有不同的主机名。主机名不要带下划线。
2. 所有节点的时间需要同步。
3. 需要在 K8s 集群的**第一个 master 节点**上运行 `sealos run` 命令,目前**集群外的节点不支持集群安装**。
4. 建议使用干净的操作系统来创建集群。**不要自己装 Docker!**
5. 支持大多数 Linux 发行版,例如:Ubuntu、CentOS、Rocky linux。
6. 支持 `Docker Hub` 中的所有 Kubernetes 版本。
7. 支持使用 Containerd 作为容器运行时。
8. 在公有云上安装请使用私有 IP。
- 3.1 单机版安装(sealos的版本必须大于等于v4.1.0)
$ sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --single
- 3.2 集群安装
$ sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
--masters 192.168.1.201,192.168.1.202,192.168.1.203 \
--nodes 192.168.1.211,192.168.1.212 -p [your-ssh-passwd]
注意:labring/helm 应当在 labring/cilium 之前。
参数说明
参数名 | 示例 | 参数说明 |
---|---|---|
–master | 192.168.1.201 | K8s master 节点地址列表 |
–nodes | 192.168.1.211 | K8s node 节点地址列表 |
–ssh-passwd | [your-ssh-passwd] | ssh 登录密码 |
kubernetes | registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 | K8s 集群镜像 |
在干净的服务器上直接执行上面命令,不要做任何多余操作即可安装一个高可用 K8s 集群。
- 3.3 节点管理操作
-
增加K8s节点
增加node节点:sealos add --nodes 192.168.1.213,192.168.1.214
增加master节点:sealos add --masters 192.168.1.203
-
删除K8s节点
删除node节点:sealos delete --nodes 192.168.1.211,192.168.1.212
删除master节点:sealos delete --masters 192.168.1.202
-
清理K8s集群
$ sealos reset
-
三、离线安装K8s
离线环境只需要提前导入镜像,其它步骤与在线安装一致。
- 导出镜像
首先在有网络的环境中导出集群镜像:
$ sealos pull registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7
$ sealos save -o kubernetes.tar registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7
$ sealos pull labring/helm:v3.9.4
$ sealos save -o helm.tar labring/helm:v3.9.4
$ sealos pull labring/cilium:v1.13.4
$ sealos docker save -o cilium.tar labring/cilium:v1.13.4
- 导入镜像
将导出的镜像拷贝到离线环境, 使用 load 命令导入镜像:
$ sealos load -i kubernetes.tar
$ sealos load -i helm.tar
$ sealos load -i cilium.tar
-安装集群
查看集群镜像是否导入成功
$ sealos images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-shanghai.aliyuncs.com/labring/kubernetes v1.27.7 823092ef00fb 2 months ago 637 MB
docker.io/labring/cilium v1.13.4 71aa52ad0a11 11 months ago 483 MB
docker.io/labring/helm v3.9.4 3376f6822067 21 months ago 46.4 MB
剩下的安装步骤与在线安装一致:
- 单机版
$ sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --single
- 集群安装
$ sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
--masters 192.168.1.201,192.168.1.202,192.168.1.203 \
--nodes 192.168.1.211,192.168.1.212 -p [your-ssh-passwd]
四、验证集群是否安装成功
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
localhost.localdomain Ready control-plane 3d19h v1.27.7
node01 Ready <none> 3d19h v1.27.7