Restart a Redis cluster
You can restart all pods of the cluster. When an exception occurs in a database, you can try to restart it.
note
The pod role may change after the cluster restarts.
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="redis" --ttlSecondsAfterSucceed=30
components
describes the component name that needs to be restarted.ttlSecondsAfterSucceed
describes the time to live of an OpsRequest job after the restarting succeeds.
Validate the restart operation.
Check the cluster status to identify the restart status.
kbcli cluster list mycluster -n demo
>
NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME
mycluster demo redis Delete Running Sep 29,2024 09:46 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: redis
EOFCheck the pod and operation status to validate the restarting.
kubectl get pod -n demo
>
NAME READY STATUS RESTARTS AGE
mycluster-redis-0 3/4 Terminating 0 5m32s
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.