Skip to main content
Version: release-0.9

Switch over an ApeCloud MySQL cluster

You can initiate a switchover for an ApeCloud MySQL RaftGroup by executing the kbcli or kubectl command. Then KubeBlocks switches the instance roles.

Before you start

  • Make sure the cluster is running normally.

    kbcli cluster list mycluster -n demo
    >
    NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME
    mycluster demo apecloud-mysql ac-mysql-8.0.30 Delete Running Sep 19,2024 16:01 UTC+0800
  • Check whether the following role probe parameters exist to verify whether the role probe is enabled.

    kubectl get cd apecloud-mysql -o yaml
    >
    probes:
    roleProbe:
    failureThreshold: 2
    periodSeconds: 1
    timeoutSeconds: 1

Initiate the switchover

You can switch over a follower of an ApeCloud MySQL RaftGroup to the leader role, and the former leader instance to a follower.

  • Initiate a switchover with no leader instance specified.

    kbcli cluster promote mycluster -n demo
  • Initiate a switchover with a specified new leader instance.

    kbcli cluster promote mycluster --instance='mycluster-mysql-2' -n demo
  • If there are multiple components, you can use --components to specify a component.

    kbcli cluster promote mycluster --instance='mycluster-mysql-2' --components='apecloud-mysql' -n demo

Verify the switchover

Check the instance status to verify whether the switchover is performed successfully.

kbcli cluster list-instances -n demo

Handle an exception

If an error occurs, refer to Handle an exception to troubleshoot the operation.