Stop/Start a Kafka Cluster
You can stop/start a cluster to save computing resources. When a cluster is stopped, the computing resources of this cluster are released, which means the pods of Kubernetes are released, but the storage resources are reserved. Start this cluster again if you want to restore the cluster resources from the original storage by snapshots.
Stop a cluster
Steps:
-
Configure the name of your cluster and run the command below to stop this cluster.
- OpsRequest
- Edit cluster YAML file
- kbcli
Run the command below to stop a cluster.
kubectl apply -f - <<EOF
apiVersion: apps.kubeblocks.io/v1alpha1
kind: OpsRequest
metadata:
name: ops-stop
namespace: demo
spec:
clusterName: mycluster
type: Stop
EOFkubectl edit cluster mycluster -n demo
Configure the value of
spec.componentSpecs.replicas
as 0 to delete pods....
spec:
clusterDefinitionRef: kafka
clusterVersionRef: kafka-3.3.2
terminationPolicy: Delete
componentSpecs:
- name: kafka
componentDefRef: kafka
disableExporter: true
replicas: 0 # Change this value
...kbcli cluster stop mycluster -n demo
-
Check the status of the cluster to see whether it is stopped.
- kubectl
- kbcli
kubectl get cluster mycluster -n demo
kbcli cluster list -n demo
Start a cluster
-
Configure the name of your cluster and run the command below to start this cluster.
- OpsRequest
- Edit cluster YAML File
- kbcli
Apply an OpsRequest to start the cluster.
kubectl apply -f - <<EOF
apiVersion: apps.kubeblocks.io/v1alpha1
kind: OpsRequest
metadata:
name: ops-start
namespace: demo
spec:
clusterName: mycluster
type: Start
EOFkubectl edit cluster mycluster -n demo
Change the value of
spec.componentSpecs.replicas
back to the original amount to start this cluster again....
spec:
clusterDefinitionRef: kafka
clusterVersionRef: kafka-3.3.2
terminationPolicy: Delete
componentSpecs:
- name: kafka
componentDefRef: kafka
disableExporter: true
replicas: 1 # Change this value
...kbcli cluster start mycluster -n demo
-
Check the status of the cluster to see whether it is running again.
- kubectl
- kbcli
kubectl get cluster mycluster -n demo
kbcli cluster list -n demo