多节点模式安装
介绍如何在多节点模式下安装 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
每个服务器节点的硬件配置都必须满足以下条件:
硬件 最低配置 推荐配置 CPU4 核8 核内存8 GB16 GB系统磁盘100 GB100 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
所有服务器节点的时间必须同步。
操作步骤
以 root 用户登录任意服务器节点。
执行以下命令检查服务器节点的架构:
uname -m
根据服务器节点的架构类型下载安装包。
- x86 架构
common:Cover Text
- ARM64 架构
common:Cover Text
执行以下命令解压安装包:
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
执行以下命令进入安装包解压后生成的目录:
cd kubesphere-virtualization-<file path>
common:NOTE
请将命令中的 <file path> 替换为实际生成的目录名称。
x86 架构:将 <file path> 替换为 x86_64
ARM64 架构: 将 <file path> 替换为 arm64
执行以下命令编辑 config-sample.yaml 文件:
vi config-sample.yaml
修改 config-sample.yaml 文件中的 hosts 和 roleGroups 参数配置节点信息:
以下为示例配置:
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定义集群中使用的镜像仓库部署在哪个节点上。一般情况下,指定为第一个节点的名称即可。执行以下命令开始安装:
./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 \#####################################################
从安装成功回显中的 Console、Username 和 Password 参数分别获取 KSV Web 控制台的地址、系统管理员用户名和系统管理员密码。
common:NOTE
KSV默认提供以下用户:
系统管理员:用户名 admin,密码 P@88w0rd
项目管理员:用户名 project-default-admin,密码 123456
项目操作员:用户名 project-default-operator,密码 123456
(可选)安装结束后,执行以下命令查看安装日志:
ksv logs