Delete zones from a cluster
This topic describes how to delete zones from a cluster.
Prerequisites
Before you delete a zone from a cluster, make sure that the following conditions are met:
- The OceanBase cluster is in the
Running
state. - After the zone is deleted, the available zones must be the majority.
Procedure
Assume that the current cluster has five zones, zone1
, zone2
, zone3
, zone4
, and zone5
, and each zone contains one OBServer node. You can perform the following steps to scale in the cluster to three zones.
-
Modify the
spec.topology
parameter in theobcluster.yaml
configuration file to delete zone4 and zone5. For more information about the complete configuration file, see Create a cluster.# For example, the OceanBase cluster has five zones.
topology:
- zone: zone1
replica: 1
- zone: zone2
replica: 1
- zone: zone3
replica: 1
- zone: zone4
replica: 1
- zone: zone5
replica: 1
# Delete zone4 and zone5 from the cluster.
topology:
- zone: zone1
replica: 1
- zone: zone2
replica: 1
- zone: zone3
replica: 1 -
Run the following command for the modification to take effect:
kubectl apply -f obcluster.yaml
-
Query the status of custom resources in the OceanBase cluster to check whether the operation succeeds.
Run the following command to query the status of custom resources in the OceanBase cluster. If the cluster and the three zones are in the Running
state, the operation is successful.
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