跳到主要内容

在集群中增加 Zone

本节介绍如何在集群中增加 Zone。

前提条件

在为集群增加 Zone 之前,您需要确保:

  • 服务器要有足够的资源,能够支持新增 Zone 所需资源。
  • OceanBase 集群目前处于 running 状态。

操作步骤

假设当前集群中共包含 3 个可用区 zone1、zone2 和 zone3,每个 Zone 内包含 1 个 OBServer 节点。现在希望将 3 个可用区扩容成为 5 个可用区。

  1. 修改配置文件 obcluster.yaml,完整配置文件请参考 创建 OceanBase 集群,在 spec.topology 内增加 zone4 和 zone5。

    # 示例: OB 集群中有 3 个 zone
    topology:
    - zone: zone1
    replica: 1
    - zone: zone2
    replica: 1
    - zone: zone3
    replica: 1

    # 在集群中增加 zone(zone4, zone5)
    topology:
    - zone: zone1
    replica: 1
    - zone: zone2
    replica: 1
    - zone: zone3
    replica: 1
    - zone: zone4
    replica: 1
    - zone: zone5
    replica: 1
  2. 配置文件修改后,需运行如下命令使改动生效。

    kubectl apply -f obcluster.yaml
  3. 观察 OceanBase 集群 CR 的状态,等待操作成功。

您可以通过以下命令,获取 OceanBase 集群资源的状态。当集群状态和 5 个 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
- status: running
zone: obcluster-1-zone4
- status: running
zone: obcluster-1-zone5
parameters: []
status: running