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.
- kbcli
- OpsRequest
- Edit cluster YAML file
kbcli cluster stop mycluster -n demo
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
EOFConfigure replicas as 0 to delete pods.
kubectl edit cluster mycluster -n demo
>
apiVersion: apps.kubeblocks.io/v1alpha1
kind: Cluster
metadata:
name: mycluster
namespace: demo
spec:
clusterDefinitionRef: kafka
clusterVersionRef: kafka-3.3.2
terminationPolicy: Delete
componentSpecs:
- name: kafka
componentDefRef: kafka
disableExporter: true
replicas: 0
volumeClaimTemplates:
- name: data
spec:
storageClassName: standard
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20GiCheck the status of the cluster to see whether it is stopped.
- kbcli
- kubectl
kbcli cluster list -n demo
kubectl get cluster mycluster -n demo
Start a cluster
Configure the name of your cluster and run the command below to start this cluster.
- kbcli
- OpsRequest
- Edit cluster YAML File
kbcli cluster start mycluster -n demo
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
EOFChange replicas back to the original amount to start this cluster again.
apiVersion: apps.kubeblocks.io/v1alpha1
kind: Cluster
metadata:
name: mycluster
namespace: demo
spec:
clusterDefinitionRef: kafka
clusterVersionRef: kafka-3.3.2
terminationPolicy: Delete
componentSpecs:
- name: kafka
componentDefRef: kafka
disableExporter: true
replicas: 1
volumeClaimTemplates:
- name: data
spec:
storageClassName: standard
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20GiCheck the status of the cluster to see whether it is running again.
- kbcli
- kubectl
kbcli cluster list -n demo
kubectl get cluster mycluster -n demo