Restart an ApeCloud MySQL cluster
You can restart all pods of the cluster. When an exception occurs in a database, you can try to restart it.
Steps
- kubectl
- kbcli
-
Create an OpsRequest to restart a cluster.
kubectl apply -f - <<EOF
apiVersion: apps.kubeblocks.io/v1alpha1
kind: OpsRequest
metadata:
name: ops-restart
namespace: demo
spec:
clusterName: mycluster
type: Restart
restart:
- componentName: mysql
EOF -
Check the pod and operation status to validate the restarting.
kubectl get pod -n demo
>
NAME READY STATUS RESTARTS AGE
mycluster-mysql-0 4/4 Running 0 5m32s
mycluster-mysql-1 4/4 Running 0 6m36s
mycluster-mysql-2 3/4 Terminating 0 7m37s
kubectl get ops ops-restart -n demo
>
NAME TYPE CLUSTER STATUS PROGRESS AGE
ops-restart Restart mycluster Succeed 1/1 3m26sDuring the restarting process, there are two status types for pods.
- STATUS=Terminating: it means the cluster restart is in progress.
- STATUS=Running: it means the cluster has been restarted.
If an error occurs, you can troubleshoot with
kubectl describe
command to view the events of this operation.
-
Restart a cluster.
Configure the values of
components
andttlSecondsAfterSucceed
and run the command below to restart a specified cluster.kbcli cluster restart mycluster --components="mysql" --ttlSecondsAfterSucceed=30 -n demo
components
describes the component name that needs to be restarted.ttlSecondsAfterSucceed
describes the time to live of an OpsRequest job after the restarting succeeds.
-
Check the cluster status to validate the restarting.
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- STATUS=Updating: it means the cluster restart is in progress.
- STATUS=Running: it means the cluster has been restarted.