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
- kbcli
- kubectl
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.
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
EOFCheck 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.