首批通过分布式安全可靠测评,为关键业务系统打造
在集群中减少 Zone
更新时间:2026-04-13 16:46:32
本节主要介绍如何在集群中减少 Zone。
前提条件
在为集群减少 Zone 之前,您需要确保:
- OceanBase 集群目前处于 running 状态。
- 减少 zone 后仍需要满足多数派。
操作步骤
假设当前集群中共包含 5 个可用区 zone1、zone2、zone3、zone4 和 zone5。每个 Zone 内包含 1 个 OBServer 节点。现在希望将 5 个可用区减少为 3 个可用区。
修改配置文件
obcluster.yaml。完整配置文件请参考 创建 OceanBase 集群,在 spec.topology 内减少 zone4 和 zone5。# 示例: OB 集群中有 5 个 zone topology: - zone: zone1 replica: 1 - zone: zone2 replica: 1 - zone: zone3 replica: 1 - zone: zone4 replica: 1 - zone: zone5 replica: 1 # 在集群中减小 zone(zone4, zone5), 仅剩 3 个 zone topology: - zone: zone1 replica: 1 - zone: zone2 replica: 1 - zone: zone3 replica: 1配置文件修改后,需运行如下命令使改动生效。
kubectl apply -f obcluster.yaml观察 OceanBase 集群 CR 的状态等待操作成功。
通过以下命令,可以获取 OceanBase 集群资源的状态,当集群状态和 3 个 zone 的状态均为 running 时,则操作成功。
kubectl get obclusters.oceanbase.oceanbase.com test -n oceanbase -o yaml
# 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