回收 PV — Kubernetes(39)

in kubernetes •  7 years ago 

当不再需要使用 PV,可以删除 PVC 回收 PV。

740.png

当 PVC mypvc1 被删除后,我们发现 Kubernetes 启动了一个新 Pod recycler-for-mypv1,这个 Pod 的作用就是清除 PV mypv1 的数据。此时 mypv1 的状态为 Released,表示已经解除了与 mypvc1 的 Bound,正在清除数据,不过此时还不可用。

当数据清除完毕,mypv1 的状态重新变为 Available,此时则可以被新的 PVC 申请。

741.png

/nfsdata/pv1 中的 hello 文件已经被删除了。

因为 PV 的回收策略设置为 Recycle,所以数据会被清除,但这可能不是我们想要的结果。如果我们希望保留数据,可以将策略设置为 Retain

742.png

通过 kubectl apply 更新 PV:

743.png

回收策略已经变为 Retain,通过下面步骤验证其效果:

744.png

① 重新创建 mypvc1

② 在 mypv1 中创建文件 hello

mypv1 状态变为 Released

④ Kubernetes 并没有启动 Pod recycler-for-mypv1

⑤ PV 中的数据被完整保留。

虽然 mypv1 中的数据得到了保留,但其 PV 状态会一直处于 Released,不能被其他 PVC 申请。为了重新使用存储资源,可以删除并重新创建 mypv1。删除操作只是删除了 PV 对象,存储空间中的数据并不会被删除。

745.png

新建的 mypv1 状态为 Available,已经可以被 PVC 申请。

PV 还支持 Delete 的回收策略,会删除 PV 在 Storage Provider 上对应存储空间。NFS 的 PV 不支持 Delete,支持 Delete 的 Provider 有 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。

下一节我们学习 PV 的动态供给功能。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

hello cloudman, 通过你了解到了 steemit, 刚开始用 163 邮箱注册,只收到一封确认邮箱的邮件。后来的账号确认邮件,始终没等到。换了gmail后,等了将近7天才终于收到邮件,注册成功。首先上来给你点个赞。

谢谢!