• 云原生服务云原生服务
    • 云原生备份容灾服务hot
    • 轻量集群服务new
    • 集群巡检服务new

多节点模式安装

介绍如何在多节点模式下安装 KSV。

本节介绍如何在多节点模式下安装 KSV 云原生虚拟化(KSV)。

注意事项

安装 KSV 之前,请阅读并遵循以下注意事项:

  • 安装前,建议使用以下脚本清理为 Ceph 预留的磁盘。执行时请注意替换脚本中的盘符。清理完成后,请重启服务器。

    DISK="/dev/sdX" \# Zap the disk to a fresh, usable state (zap-all is important, b/c MBR has to be clean) sgdisk --zap-all $DISK \# Wipe a large portion of the beginning of the disk to remove more LVM metadata that may be present dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync \# SSDs may be better cleaned with blkdiscard instead of dd blkdiscard $DISK \# Inform the OS of partition table changes partprobe $DISK
  • 若条件允许或当前环境为生产环境,建议在 etcd 中使用 SSD 盘。默认 etcd 的数据目录为 /var/lib/etcd

  • 若系统盘空间较小或当前环境为生产环境,建议在 /var/lib/rancher 目录下挂载 100 GB 及以上的硬盘。

  • 多节点模式需要至少 3 个服务器节点。

  • 服务器节点的操作系统需要为 Linux 操作系统,Linux 内核版本必须在 4 以上。建议使用 Ubuntu 18.04、Ubuntu 20.04、CentOS 7.9、CentOS 8.5、统信 UOS、银河麒麟 V10 或华为 EulerOS。其他操作系统尚未充分测试,可能存在未知问题。未来将支持更多操作系统。

    检查操作系统版本:

    cat /etc/issue
  • 每个服务器节点的硬件配置都必须满足以下条件:

    硬件最低配置推荐配置
    CPU
    4 核
    8 核
    内存
    8 GB
    16 GB
    系统磁盘
    100 GB
    100 GB

    检查 CPU 核心数:

    cat /proc/cpuinfo | grep "processor" | sort | uniq | wc -l

    检查内存大小:

    cat /proc/meminfo | grep MemTotal

    检查可用磁盘大小:

    df -hl
  • 多节点模式下必须确保至少 3 个服务器节点用作工作节点(控制节点同时也可以为工作节点)。每个工作节点都必须至少具有 1 个未格式化且未分区的磁盘,或 1 个未格式化的分区。该磁盘或分区的最低配置为 100 GB,推荐配置为 200 GB。

    检查工作节点磁盘分区:

    lsblk -f

    例如,以下回显表明 vdb 磁盘为满足条件的设备:

    NAME FSTYPE LABEL UUID MOUNTPOINT vda └─vda1 LVM2_member >eSO50t-GkUV-YKTH-WsGq-hNJY-eKNf-3i07IB ├─ubuntu--vg-root ext4 c2366f76-6e21-4f10-a8f3-6776212e2fe4 / └─ubuntu--vg-swap_1 swap 9492a3dc-ad75-47cd-9596-678e8cf17ff9 [SWAP] vdb
  • 所有服务器节点都需要支持虚拟化。如果存在不支持虚拟化的服务器节点,安装过程将报错,KSV 也无法成功安装。

    检查服务器节点是否支持虚拟化(若无回显则不支持虚拟化):

    • x86 架构:
    grep -E '(svm|vmx)' /proc/cpuinfo
    • ARM64 架构
    ls /dev/kvm
  • 所有服务器节点的时间必须同步。

操作步骤

  1. root 用户登录任意服务器节点。

  2. 执行以下命令检查服务器节点的架构:

    uname -m
  3. 根据服务器节点的架构类型下载安装包。

    • x86 架构

    common:Cover Text

    • ARM64 架构

    common:Cover Text

  4. 执行以下命令解压安装包:

    tar -zxvf kubesphere-virtualization-<package name>.tar.gz

    common:NOTE

    请将命令中的 <package name> 替换为实际下载的安装包名称。

    • x86 架构:将 <package name> 替换为 x86_64-v1.6.1

    • ARM64 架构: 将 <package name> 替换为 arm64-v1.6.1

  5. 执行以下命令进入安装包解压后生成的目录:

    cd kubesphere-virtualization-<file path>

    common:NOTE

    请将命令中的 <file path> 替换为实际生成的目录名称。

    • x86 架构:将 <file path> 替换为 x86_64

    • ARM64 架构: 将 <file path> 替换为 arm64

  6. 执行以下命令编辑 config-sample.yaml 文件:

    vi config-sample.yaml
  7. 修改 config-sample.yaml 文件中的 hostsroleGroups 参数配置节点信息:

    以下为示例配置:

    hosts: - {name: node1, address: 172.31.50.23, internalAddress: 172.31.50.23, user: yop, password: "zhu1241jie"} - {name: node2, address: 172.31.50.24, internalAddress: 172.31.50.24, user: yop, password: "zhu1241jie"} - {name: node3, address: 172.31.50.25, internalAddress: 172.31.50.25, user: yop, password: "zhu1241jie"} roleGroups: etcd: - node1 - node2 - node3 control-plane: - node1 - node2 - node3 worker: - node1 - node2 - node3 registry: - node1

    相关参数描述如下:

    参数描述
    hosts
    节点列表信息。
    name
    节点名称。
    address
    节点的 SSH 登录 IP 地址。
    internalAddress
    节点在子网内部的 IP 地址。
    user
    节点的 SSH 登录用户名,该用户必须为 root 用户或其他具有 sudo 命令执行权限的用户。如果使用 root 用户可不设置此参数。
    password
    节点的 SSH 登录密码。
    roleGroups
    节点角色信息。
    etcd
    安装 etcd 数据库的节点,一般设置为集群控制节点。
    control-plane
    集群控制节点。集群中可设置多个控制节点。
    worker
    集群工作节点。工作节点上可以创建虚拟机。多节点模式下集群中必须至少有 3 个工作节点,控制节点同时也可以是工作节点。
    registry
    定义集群中使用的镜像仓库部署在哪个节点上。一般情况下,指定为第一个节点的名称即可。
  8. 执行以下命令开始安装:

    ./install.sh -m --ratio <overcommit ratio>

    common:NOTE

    • --ratio 为可选参数,用于指定 KSV 集群的超卖比。您可以根据业务需求将 <overcommit ratio> 设置为实际的超卖比数值,取值需为 1 至 10 的整数。如果未设置该参数参数,超卖比默认值为 2

    • 超卖比将决定 KSV 可创建虚拟机的总数。可创建虚拟机的总数 = 集群 CPU 核心总数 x 超卖比。

    • 只有新安装 KSV 时可以设置超卖比,升级时不支持修改超卖比。

    • 安装可能需要较长时间,请等待安装完成。

    如果显示如下信息则安装成功:

    \##################################################### \### Welcome to KubeSphere Virtualization! ### \##################################################### Console: http://172.31.50.59:30880 Username: admin Password: P@88w0rd NOTE: Please change the default password of the admin user after login. \##################################################### https://kubesphere.cloud/ksv/ 2022-12-01 14:03:45 \#####################################################
  9. 从安装成功回显中的 ConsoleUsernamePassword 参数分别获取 KSV Web 控制台的地址、系统管理员用户名和系统管理员密码。

    common:NOTE

    KSV默认提供以下用户:

    • 系统管理员:用户名 admin,密码 P@88w0rd

    • 项目管理员:用户名 project-default-admin,密码 123456

    • 项目操作员:用户名 project-default-operator,密码 123456

  10. (可选)安装结束后,执行以下命令查看安装日志:

    ksv logs