多节点模式安装和升级
介绍如何在多节点模式下安装、升级、卸载 KSV 以及如何在集群中添加节点。
本节介绍如何在多节点模式下安装、升级、卸载 KubeSphere 虚拟化(KSV)以及如何在集群中添加节点。
KSV 目前支持以下安装模式:
- 单节点模式:安装在单个服务器节点上,适用于测试环境。有关单节点模式,请参阅单节点模式安装和升级。
- 多节点模式:安装在多个服务器节点上,适用于生产环境。
前提条件
多节点模式需要至少 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 核心数(两行命令回显结果相乘为服务器节点 CPU 核心总数):
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
cat /proc/cpuinfo | grep "cpu cores" | uniq
检查内存大小:
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 将以模拟模式运行。该模式将占用更多资源,且可能影响性能。
检查服务器节点是否支持虚拟化(若无回显则不支持虚拟化):
grep -E '(svm|vmx)' /proc/cpuinfo
所有服务器节点的时间必须同步。
安装 KSV
以
root
用户登录任意服务器节点。执行以下命令检查节点服务器的架构:
uname -m
根据节点服务器的架构类型下载安装包。
x86 架构
执行以下命令下载安装包(安装包大小约 4.5 GB):
common:Cover Text
执行以下命令解压安装包:
tar -zxvf kubesphere-virtualization-x86_64-v1.5.0.tar.gz
执行以下命令进入安装包解压后生成的目录:
cd kubesphere-virtualization-x86_64
ARM64 架构
执行以下命令下载安装包(安装包大小约 4.2 GB):
common:Cover Text
执行以下命令解压安装包:
tar -zxvf kubesphere-virtualization-arm64-v1.5.0.tar.gz
执行以下命令进入安装包解压后生成的目录:
cd kubesphere-virtualization-arm64
执行以下命令编辑
config-sample.yaml
文件并在hosts
和roleGroups
参数下配置节点信息:vi config-sample.yaml
以下为示例配置:
hosts: - {name: node1, address: 172.16.0.2, internalAddress: 172.16.0.2, port: 8022, user: ubuntu, password: Qcloud@123} - {name: node2, address: 172.16.0.3, internalAddress: 172.16.0.3, password: Qcloud@123} - {name: node3, address: 172.16.0.4, internalAddress: 172.16.0.4, privateKeyPath: "~/.ssh/id_rsa"} roleGroups: etcd: - node1 controlPlane: - node1 - node[2:3] worker: - node1 - node[2:3]
相关参数描述如下:
参数 描述 hosts name 节点名称。 address 节点的 SSH 登录 IP 地址。 internalAddress 节点在子网内部的 IP 地址。 port 节点的 SSH 端口号。如果使用默认端口 22 可不设置此参数。 user 节点的 SSH 登录用户名,该用户必须为 root
用户或其他具有sudo
命令执行权限的用户。如果使用root
用户可不设置此参数。password 节点的 SSH 登录密码。如果已经设置 privateKeyPath
可不设置此参数。privateKeyPath 节点的 SSH 登录密钥的路径。如果已经设置 password
可不设置此参数。roleGroups etcd 安装 etcd 数据库的节点,一般设置为集群控制节点。 controlPlane 集群控制节点。集群中可设置多个控制节点。 worker 集群工作节点。工作节点上可以创建虚拟机。多节点模式下集群中必须至少有 3 个工作节点,控制节点同时也可以是工作节点。 执行以下命令开始安装:
./install.sh -m --ratio <超卖比>
common:NOTE
--ratio
参数为可选参数,用于指定 KSV 集群的超卖比,取值为 1 至 10 的整数。如果未设置--ratio
参数,超卖比默认值为2
。- 超卖比将决定 KSV 可创建虚拟机的总数。可创建虚拟机的总数 = 集群 CPU 核心总数 x 超卖比。
- 只有新安装 KSV 时可以设置超卖比,升级 KSV 时不支持修改超卖比。
- 安装可能需要较长时间,请等待安装完成。
如果显示如下信息则安装成功:
##################################################### ### Welcome to KubeSphere Virtualization! ### ##################################################### Console: http://172.16.0.59:30880 Username: admin Password: P@88w0rd NOTE: Please change the default password of the admin user after login. ##################################################### https://kubesphere.cloud/ksv/ 2021-04-29 14:03:45 #####################################################
从安装成功回显中的
Console
、Username
和Password
参数分别获取 KSV Web 控制台的地址、系统管理员用户名和系统管理员密码。common:NOTE
KSV Web 控制台提供以下默认用户:
- 系统管理员:用户名
admin
,密码P@88w0rd
。 default
项目管理员:用户名project-default-admin
,密码123456
。default
项目操作员:用户名project-default-operator
,密码123456
。
- 系统管理员:用户名
(可选)安装结束后,执行以下命令查看安装日志:
ksv logs
添加节点
使用 KSV Web 控制台添加节点
以系统
admin
用户登录 KSV Web 控制台。在页面顶部的菜单栏中点击节点以打开节点列表页。
在节点列表页面点击添加。在添加节点页面,为即将添加的节点设置以下参数:
参数 描述 名称 用户自定义的节点名称。名称只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 16 个字符。如果同时添加多个节点,系统将自动在不同节点的名称后增加序列号。 内部 IP 地址 集群内各节点可访问的内部 IP 地址。您需要手动输入每个节点的 IP 地址。在内部 IP 地址右侧点击 /
可增加/减少待添加的节点的数量。
数量 需要添加的节点的数量。目前支持同时添加最多 50 个节点。 SSH 认证方式 节点的 SSH 认证方式。 - 用户名和密码:使用用户名和密码登录服务器节点。
- SSH 密钥:使用 SSH 密钥登录服务器节点。
端口 用于 SSH 登录节点的端口号。 common:NOTE
添加多个节点并选择使用 SSH 密钥登录时,您需要预先为所有待添加的节点设置相同的 SSH 密钥。
点击确定。节点添加完成后将显示在节点列表中。
common:NOTE
- 在页面右下角的 KSV 助手中,点击操作进度并选择节点可查看待添加的节点的进度。
- 目前,KSV 只支持添加节点,不支持删除节点。
- 您需要购买商业版许可证才能在 Web 控制台添加节点。有关更多信息,请参阅软件许可证。
使用终端添加节点
以
root
用户登录服务器节点。进入安装包解压后生成的目录。
执行以下命令编辑
config-sample.yaml
文件并在hosts
和roleGroups
参数下配置新增的节点信息:vi config-sample.yaml
common:NOTE
有关参数配置请参阅安装 KSV。
执行以下命令开始添加节点:
./add-nodes.sh
如果显示如下信息则节点添加成功:
Congratulations! Scaling cluster is successful.
升级 KSV
如果系统中已安装过旧版本的 KSV,可执行以下步骤升级 KSV 版本。
登录安装 KSV 时所使用的服务器节点。
执行安装 KSV 步骤 2 至步骤 4。
执行以下命令升级 KSV:
./upgrade.sh
执行以下命令开启 KSV Web 控制台添加节点功能:
ksv upload-config {old package dir}
common:NOTE
在 KSV Web 控制台添加节点是 v1.1.0 版本的新增功能。如需从 KSV v1.1.0 之前的版本升级,则需要执行以上命令才能在 Web 控制台开启该功能。
升级完成后执行以下命令查看安装日志:
ksv logs
如果显示如下信息则升级成功:
##################################################### ### Welcome to KubeSphere Virtualization! ### ##################################################### Console: http://172.16.0.59:30880 Username: admin Password: P@88w0rd NOTE: Please change the default password of the admin user after login. ##################################################### https://kubesphere.cloud/ksv/ 2021-04-29 14:03:45 #####################################################
卸载 KSV
以
root
用户登录保存安装包的服务器节点。进入安装包解压后生成的目录。
执行以下命令开始卸载:
./uninstall.sh -m
如果显示如下信息则卸载成功:
INFO[14:25:16 CST] Successful.
common:NOTE
如卸载持续时间超过 15 分钟,您可以尝试重启机器再卸载 KSV。