Sealos安装K8s集群

一、什么是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                3d19h   v1.27.7

你可能感兴趣的:(kubernetes,容器,云原生,k8s)