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.
Steps:
Configure the name of your cluster and run the command below to stop this cluster.
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
EOF
kubectl 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 get cluster mycluster -n demo
kbcli cluster list -n demo
Configure the name of your cluster and run the command below to start this cluster.
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
EOF
kubectl 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 get cluster mycluster -n demo
kbcli cluster list -n demo