向 Zone 内添加 OBServer 节点
本节主要介绍如何通过向 Zone 内添加 OBServer 节点的方式进行集群的扩容。
前提条件
在向 Zone 内添加 OBServer 节点,您需要确保:
- 服务器要有足够的资源,能够支持添加 OBServer 节点所需资源。
- OceanBase 集群目前处于 running 状态。
操作步骤
假设当前集群中共包含 3 个可用区 zone1、zone2、zone3,每个 Zone 内包含 1 个 OBServer 节点。现在希望向每个 Zone 添加 1 台 OBServer 节点来扩容。扩容后,3 个 Zone 内均包含 2 台 OBServer 节点。按照以下步骤添加 OBServer 节点:
-
修改配置文件
obcluster.yaml
,每个 zone 对应的 replicas 由 1 修改为 2。# 示例: OB 集群中有 3 个 zone
topology:
- zone: zone1
replica: 1
- zone: zone2
replica: 1
- zone: zone3
replica: 1
# 向每个 zone 内添加 1 个 observer
topology:
- zone: zone1
replica: 2
- zone: zone2
replica: 2
- zone: zone3
replica: 2 -
配置文件修改后,需运行如下命令使改动生效。
kubectl apply -f obcluster.yaml
-
观察 CR 的状态等待操作成功。
通过以下命令,可以获取 OceanBase 集群资源的状态。
kubectl get obclusters.oceanbase.oceanbase.com test -n oceanbase -o yaml
# obcluster desired output, only displays status here
status:
image: oceanbase/oceanbase-cloud-native:4.2.0.0-101000032023091319
obzones:
- status: running
zone: obcluster-1-zone1
- status: running
zone: obcluster-1-zone2
- status: running
zone: obcluster-1-zone3
parameters: []
status: running
通过以下命令,可以获取 observer 的状态, 可以观察 observer 数量匹配,并且都是 running 状态。
kubectl get observers.oceanbase.oceanbase.com -n oceanbase
# observer desired output, only displays status here
oceanbase obcluster-1-zone1-7b0e9f7e7675 10.42.0.241 running 7h48m
oceanbase obcluster-1-zone2-67f3d1fe0b40 10.42.0.251 running 28m
oceanbase obcluster-1-zone3-914ef208ac46 10.42.0.252 running 28m
oceanbase obcluster-1-zone2-2336549ba883 10.42.0.19 running 3m15s
oceanbase obcluster-1-zone3-d7011a909e2b 10.42.0.26 running 3m10s
oceanbase obcluster-1-zone1-0f5d712adb19 10.42.0.27 running 3m10s