Reclaim PVs¶
NebulaGraph Operator uses PVs (Persistent Volumes) and PVCs (Persistent Volume Claims) to store persistent data. If you accidentally deletes a NebulaGraph cluster, by default, PV and PVC objects and the relevant data will be retained to ensure data security.
You can also define the automatic deletion of PVCs to release data by setting the parameter spec.enablePVReclaim
to true
in the configuration file of the cluster instance. As for whether PV will be deleted automatically after PVC is deleted, you need to customize the PV reclaim policy. See reclaimPolicy in StorageClass and PV Reclaiming for details.
Prerequisites¶
A NebulaGraph cluster is created in Kubernetes. For specific steps, see Create a NebulaGraph cluster.
Steps¶
The following example uses a cluster named nebula
and the cluster's configuration file named nebula_cluster.yaml
to show how to set enablePVReclaim
:
-
Run the following command to edit the
nebula
cluster's configuration file.kubectl edit nebulaclusters.apps.nebula-graph.io nebula
-
Add
enablePVReclaim
and set its value totrue
underspec
.apiVersion: apps.nebula-graph.io/v1alpha1 kind: NebulaCluster metadata: name: nebula spec: enablePVReclaim: true //Set its value to true. graphd: image: vesoft/nebula-graphd logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks replicas: 1 resources: limits: cpu: "1" memory: 1Gi requests: cpu: 500m memory: 500Mi version: master imagePullPolicy: IfNotPresent metad: dataVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks image: vesoft/nebula-metad logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks replicas: 1 resources: limits: cpu: "1" memory: 1Gi requests: cpu: 500m memory: 500Mi version: master nodeSelector: nebula: cloud reference: name: statefulsets.apps version: v1 schedulerName: default-scheduler storaged: dataVolumeClaims: - resources: requests: storage: 2Gi storageClassName: fast-disks - resources: requests: storage: 2Gi storageClassName: fast-disks image: vesoft/nebula-storaged logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks replicas: 3 resources: limits: cpu: "1" memory: 1Gi requests: cpu: 500m memory: 500Mi version: master ...
-
Run
kubectl apply -f nebula_cluster.yaml
to push your configuration changes to the cluster.
After setting enablePVReclaim
to true
, the PVCs of the cluster will be deleted automatically after the cluster is deleted. If you want to delete the PVs, you need to set the reclaim policy of the PVs to Delete
.