更改 PersistentVolume 的回收策略

本页面展示了如何更改 Kubernetes PersistentVolume 的回收策略。

准备工作

你需要有一个 Kubernetes 集群,并且 kubectl 命令行工具已配置为与你的集群通信。建议你在至少有两个不充当控制平面主机的节点集群上运行本教程。如果你还没有集群,可以使用 minikube 创建一个,或者使用以下 Kubernetes 演练场之一。

要检查版本,请输入 kubectl version

为什么要更改 PersistentVolume 的回收策略

PersistentVolumes 可以有多种回收策略,包括 “Retain”(保留)、“Recycle”(回收)和 “Delete”(删除)。对于动态制备的 PersistentVolumes,默认的回收策略是 “Delete”。这意味着当用户删除相应的 PersistentVolumeClaim 时,动态制备的卷会自动删除。如果卷包含宝贵数据,这种自动行为可能不合适。在这种情况下,更适合使用 “Retain” 策略。使用 “Retain” 策略,如果用户删除 PersistentVolumeClaim,相应的 PersistentVolume 将不会被删除。相反,它会被移到 Released 阶段,在该阶段可以手动恢复所有数据。

更改 PersistentVolume 的回收策略

  1. 列出集群中的 PersistentVolumes

    kubectl get pv
    

    输出类似于:

    NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM             STORAGECLASS     REASON    AGE
    pvc-b6efd8da-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim1    manual                     10s
    pvc-b95650f8-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim2    manual                     6s
    pvc-bb3ca71d-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim3    manual                     3s
    

    此列表还包括绑定到每个卷的 PVC 名称,以便于识别动态制备的卷。

  2. 选择你的一个 PersistentVolume 并更改其回收策略

    kubectl patch pv <your-pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
    

    其中 <your-pv-name> 是你选择的 PersistentVolume 的名称。

  3. 验证你选择的 PersistentVolume 具有正确的策略

    kubectl get pv
    

    输出类似于:

    NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM             STORAGECLASS     REASON    AGE
    pvc-b6efd8da-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim1    manual                     40s
    pvc-b95650f8-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim2    manual                     36s
    pvc-bb3ca71d-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Retain          Bound     default/claim3    manual                     33s
    

    在上述输出中,你可以看到绑定到 PVC default/claim3 的卷的回收策略为 Retain。当用户删除 PVC default/claim3 时,它将不会自动删除。

下一步

参考

上次修改时间:2023 年 1 月 11 日上午 11:12 PST:更新 /tasks/administer-cluster 部分的页面权重 (b1202c78ff)