将动态配置的 PV 重新附加到 PVC

Suj*_*dhi 3 kubernetes persistent-volumes persistent-volume-claims

我部署了一个 PVC,它动态创建了一个 PV。之后我删除了 PVC,现在我的 PV 如下所示:

PS Kubernetes> kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM            STORAGECLASS   REASON   AGE
pvc-1b59942c-eb26-4603-b78e-7054d9418da6   2G         RWX            Retain           Released   default/db-pvc   hostpath                26h
Run Code Online (Sandbox Code Playgroud)

当我重新创建 PVC 时,会创建一个新的 PV。有没有办法将现有的 PV 重新连接到我的 PVC ?有没有办法自动完成?

我尝试使用“volumeName”选项将 PV 与 PVC 附加在一起,但它不起作用。

NAME      STATUS    VOLUME                                    CAPACITY   ACCESS MODES   STORAGECLASS   AGE
db-pvc    Pending   pvc-1b59942c-eb26-4603-b78e-7054d9418da6   0                         hostpath       77s
Run Code Online (Sandbox Code Playgroud)

Rak*_*pta 6

当 PVC 被删除时,PV 将保持在“Released”状态,并带有已删除 PVC 的 ClaimRef uid。

要重用PV,需要删除claimRef以使其进入“Available”状态

您可以编辑 PV 并手动删除 ClaimRef 部分,或者运行 patch 命令,如下所示:

kubectl patch pv pvc-1b59942c-eb26-4603-b78e-7054d9418da6 --type json -p '[{"op": "remove", "path": "/spec/claimRef"}]'
Run Code Online (Sandbox Code Playgroud)

随后,您重新创建 PVC。