回收 PV¶
NebulaGraph Operator 使用持久化卷 PV(Persistent Volume)和持久化卷声明 PVC(Persistent Volume Claim)来存储持久化数据。如果用户不小心删除了一个 NebulaGraph 集群,PV 和 PVC 对象及其数据仍可保留,以确保数据安全。
用户可以在集群的 CR 实例的配置文件中通过参数enablePVReclaim
定义是否回收 PV。
如果用户需要删除图空间并想保留相关数据,可以更新 NebulaGraph 集群,即设置enablePVReclaim
为true
。
前提条件¶
已使用 K8s 创建一个集群。具体步骤,参见使用 Kubectl 创建 NebulaGraph 集群。
操作步骤¶
以下示例使用名为nebula
的集群、名为nebula_cluster.yaml
的 YAML 配置文件,说明如何设置enablePVReclaim
:
-
执行以下命令进入
nebula
集群的编辑页面。kubectl edit nebulaclusters.apps.nebula-graph.io nebula
-
在 YAML 文件的
spec
配置项中,添加enablePVReclaim
并设置其值为true
。apiVersion: apps.nebula-graph.io/v1alpha1 kind: NebulaCluster metadata: name: nebula spec: enablePVReclaim: true //设置其值为 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: v3.3.0 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: v3.3.0 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: v3.3.0 ...
-
执行
kubectl apply -f nebula_cluster.yaml
使上述更新生效。
最后更新:
March 28, 2023