集群扩容
本文档介绍集群扩容的操作指导,其他支持的操作系统、架构安装流程与示例流程一致,下面以openEuler22.03 ARM64为例进行说明。
配置要求
节点资源要求
表 1 worker节点建议资源配置信息
vCPU | 内存(GB) |
---|---|
4 | 8 |
说明:
当未启用并发多线程(SMT)或超线程时,一个vCPU相当于一个物理内核。启用后,使用以下公式换算:vCPU=(每个内核的线程数×内核数)×插槽数。
表 2 master节点建议资源配置信息
vCPU | 内存(GB) | worker节点数量 |
---|---|---|
4 | 16 | 1~24 |
8 | 32 | 25~100 |
16 | 64 | 101~150 |
24 | 64 | 151~200 |
说明:
- master节点资源大小随worker节点数量增加而增加。
- 当未启用并发多线程(SMT)或超线程时,一个vCPU相当于一个物理内核。启用后,使用以下公式换算:vCPU=(每个内核的线程数×内核数)×插槽数。
节点配置要求
- 选定安装执行机作为扩容执行机。
- 扩容执行机与集群网络连通。
- 所有待扩容机器可使用root用户登录。
环境准备
两台已经安装openEuler22.03操作系统的Linux计算机,一个高可用集群或非高可用集群。
表 3 环境信息
主机IP地址 | 主机名称 | 操作系统 | 角色 |
---|---|---|---|
192.168.0.5 | node4 | openEuler | 扩容执行机(之前的安装执行机)。 |
192.168.0.6 | node5 | openEuler | 集群内master节点。 |
192.168.0.13 | node12 | openEuler | 待扩容master节点。 |
192.168.0.14 | node13 | openEuler | 待扩容worker节点。 |
扩容配置文件样例
如下展示了高可用集群扩容与普通集群扩容的配置文件样例,下面扩容步骤中会以集群规划配置文件为基础,将其修改为集群扩容配置文件。
- 高可用集群扩容yaml文件样例。
apiVersion: openfuyao.io/v1beta1
kind: cluster
metadata:
name: example-cluster
spec:
nodes:
masters:
- hostname: fuyao-master
user: root
ip: 192.168.0.6
port: 22
privateKeyPath: /root/.ssh/id_rsa
removeTaint: true
labels:
- name: label-name
value: label-value
workers:
- hostname: fuyao-worker
user: root
ip: o.x.y.z
port: 22
privateKeyPath: /root/.ssh/id_rsa
labels:
- name: label-name
value: label-value
components:
- name: kube-vip
param:
- name: vip
value: 192.168.100.129
type: string
describe: 虚拟ip
- name: interface
value: eth0
type: string
describe: 网卡
- 普通集群扩容yaml文件样例。
apiVersion: openfuyao.io/v1beta1
kind: cluster
metadata:
name: example-cluster
spec:
nodes:
masters:
- hostname: fuyao-master
user: root
ip: 192.168.0.6
port: 22
privateKeyPath: /root/.ssh/id_rsa
removeTaint: true
labels:
- name: label-name
value: label-value
workers:
- hostname: fuyao-worker
user: root
ip: o.x.y.z
port: 22
privateKeyPath: /root/.ssh/id_rsa
labels:
- name: label-name
value: label-value
扩容步骤
-
以root用户登录安装执行机。
-
下载安装工具与安装脚本,若之前安装集群时已下载安装包则跳过此步骤。
curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/installer/releases/download/v25.06/download.sh | bash -
执行上述命令默认下载最新版本的安装包,若想下载其他版本,请使用如下命令指定版本后进行工具下载。
说明:
安装包完整校验请参见安装包完整性校验。export VERSION=x.y.z
curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/installer/releases/download/v25.06/download.sh | bash - -
生成集群规划配置文件。
- 进入安装包目录。
说明:
此处以openEuler22.03 ARM64为例,具体路径应视实际情况而定。export INSTALLER_PACKAGE_PATH=fuyao-v25.06-openEuler-22.03-arm64
cd $INSTALLER_PACKAGE_PATH- 执行如下命令,生成高可用配置文件。
./fuyao create cluster-config --ha
- 配置文件内容如下:
apiVersion: openfuyao.io/v1beta1
kind: cluster
metadata:
name: example-cluster
spec:
nodes:
masters:
- hostname: fuyao-master
user: root
ip: 192.168.0.6
port: 22
privateKeyPath: /root/.ssh/id_rsa
removeTaint: true
labels:
- name: label-name
value: label-value
workers:
- hostname: fuyao-worker
user: root
ip: o.x.y.z
port: 22
privateKeyPath: /root/.ssh/id_rsa
labels:
- name: label-name
value: label-value
components:
- name: kube-vip
param:
- name: vip
value: 192.168.100.129
type: string
describe: 虚拟ip
- name: interface
value: eth0
type: string
describe: 网卡 -
修改集群规划配置文件。
- 编辑集群规划配置文件。
export HA_ADD_NODE_CONFIG_FILE=example-cluster.yaml
vi $HA_ADD_NODE_CONFIG_FILE-
填写节点清单信息,示例如下:
- 至少填写1个master节点信息与1个worker节点信息,在节点清单中,master节点配置必须为集群内的master节点。
- hostname:集群中节点名称,需要与实际机器名称相同。
- user:部署时用于登录节点的用户名,当前仅支持root用户。
- ip:节点IP地址。
- port:ssh使用的端口号,默认为22。
-
输入
i
进入编辑状态进行修改。 修改完成后,输入:wq
保存并退出,修改后的配置文件如下:
apiVersion: openfuyao.io/v1beta1
kind: cluster
metadata:
name: example-cluster
spec:
# 节点清单
nodes:
# master节点配置
masters:
# 集群中hostname,可以和主机hostname不同
- hostname: node5 # 修改项
user: root # 修改项
ip: 192.168.0.6 # 修改项
port: 22 # 修改项
privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
- hostname: node12 # 修改项
user: root # 修改项
ip: 192.168.0.13 # 修改项
port: 22 # 修改项
privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
labels:
- name: node12 # 修改项(选填项)
value: master-04 # 修改项(选填项)
workers:
- hostname: node13 # 修改项
user: root # 修改项
ip: 192.168.0.14 # 修改项
port: 22 # 修改项
privateKeyPath: /root/.ssh/id_rsa # 修改项(选填项)
labels:
- name: node13 # 修改项(选填项)
value: worker-02 # 修改项(选填项)
components:
- name: kube-vip # 若为非高可用集群扩容,则无需编写kube-vip组件
param:
- name: vip
value: 192.168.0.50 # 修改项
type: string
describe: 虚拟IP
- name: interface
value: eth0 # 修改项
type: string
describe: 网卡- 若配置安装过程中使用密钥登录集群节点,则需提前在安装执行机配置使用SSH密钥登录所有集群节点。
-
在安装包目录内执行扩容。
./fuyao add nodes -f $HA_ADD_NODE_CONFIG_FILE
若配置使用密码登录集群节点,则安装过程中需根据提示输入对应节点的密码。
-
扩容结果确认。
自动化扩容过程执行成功后,可到master节点执行如下命令查看扩容结果,当所有Pod状态都为running后表示环境准备完毕。
kubectl get pod -A
说明:
- 所有Pod状态都为running状态则安装完毕。具体时间与实际网络情况有关,网速较慢时等待时间会比较长。
- openFuyao认证鉴权机制采用自签名方式生成密钥,所有认证鉴权密钥与配置文件存放在所有master节点的
/etc/kubernetes/webhook
下,在完成安装后可自行选择删除该路径下文件,若删除该路径下文件后重启apiserver,则会导致认证失败。 - 安装部署工具扩容时部署的组件均采用默认配置,仅用于测试openFuyao平台功能,若在生产环境使用,请自行调整Kubernetes、容器运行时、网络插件组件安全配置。
扩容注意事项:
- 多次扩容时,例如先扩容worker1节点,需要将worker1节点的信息写入到yaml文件中;准备再次扩容worker2节点时,只需要再将worker2节点的信息写入到yaml文件中,worker1节点信息不需要再次写入yaml文件。
卸载
-
以root身份登录安装执行机
-
删除asset/install-component-manifest.yaml文件
rm asset/install-component-manifest.yaml
-
执行如下命令,进入安装包目录。
cd $INSTALLER_PACKAGE_PATH
编写配置文件,配置文件修改内容与安装时一致,填写集群中master与worker节点的hostname、user、passwd、ip、port
vi $CLUSTER_HA_CONFIG_FILE
注意:
需要将扩容节点填写到配置文件内。 -
在安装包目录内执行卸载。
须知:
若环境中通过应用市场安装了多种应用或扩展组件,建议先通过应用管理或扩展组件管理卸载已安装的应用和扩展组件,否则可能会出现卸载慢或卸载失败的情况。./fuyao destroy cluster -f <cluster-yam-path, eg:./example-cluster.yaml>
-
出现
Successfully completed cluster destroy
字样后即完成集群卸载。卸载操作未删除安装与卸载过程中打印的日志,日志存放路径为
/var/log/fuyao-installer/
,若想删除日志可执行如下命令:rm -rf /var/log/fuyao-installer/