在 OpenEBS 文档的卸载部分中提到了在 OpenEBS 上优雅删除的正确方法。
推荐的步骤是:
删除所有已创建的 OpenEBS PVC。您可以使用以下命令检查 PVC 的状态
kubectl get pvc
不应该有任何 OpenEBS PVC 条目。
删除所有 SPC(如果是 cStor 存储引擎)
kubectl get spc -n openebs
不应该有任何 OpenEBS SPC 条目。
确保没有卷或池 pod 处于终止状态。您可以使用以下命令检查 Pod 的运行状态。
kubectl get pods -n <openebs namespace>
通过 helm purge 或 kubectl delete ns openebs 删除 OpenEBS 命名空间。
卸载 OpenEBS 不会自动删除创建的 CRD。如果您想完全删除 CRD 和关联的对象,请运行以下命令:
kubectl delete crd castemplates.openebs.io
kubectl delete crd cstorpools.openebs.io
kubectl delete crd cstorvolumereplicas.openebs.io
kubectl delete crd cstorvolumes.openebs.io
kubectl delete crd runtasks.openebs.io
kubectl delete crd storagepoolclaims.openebs.io
kubectl delete crd storagepools.openebs.io
kubectl delete crd volumesnapshotdatas.volumesnapshot.external-storage.k8s.io
kubectl delete crd volumesnapshots.volumesnapshot.external-storage.k8s.io
作为删除 Jiva 卷的一部分,OpenEBS 启动清理作业以清除节点中的数据。需要使用以下命令清除已完成的作业。
kubectl delete jobs -l openebs.io/cas-type=jiva -n <namespace>
有时,cStor 卷可能不会被删除。以下解决方法将解决此问题,请执行以下操作:
kubectl edit cvr -n openebs
然后从 CVR 中删除 finalizers 需要删除以下条目
finalizers:
- cstorvolumereplica.openebs.io/finalizer