變更 PersistentVolume 的回收策略

本頁說明如何變更 Kubernetes PersistentVolume 的回收策略。

開始之前

您需要有一個 Kubernetes 叢集,並且必須設定 kubectl 命令列工具以與您的叢集通訊。建議在至少兩個節點且不充當控制平面主機的叢集上執行本教學課程。如果您還沒有叢集,可以使用 minikube 建立一個,或者您可以使用以下 Kubernetes 實驗環境之一

若要檢查版本,請輸入 kubectl version

為什麼要變更 PersistentVolume 的回收策略

PersistentVolume 可以有各種回收策略,包括「Retain」、「Recycle」和「Delete」。對於動態佈建的 PersistentVolume,預設回收策略為「Delete」。這表示當使用者刪除對應的 PersistentVolumeClaim 時,會自動刪除動態佈建的卷。如果卷包含寶貴的資料,則此自動行為可能不適當。在這種情況下,使用「Retain」策略更為合適。使用「Retain」策略,如果使用者刪除 PersistentVolumeClaim,則不會刪除對應的 PersistentVolume。相反地,它會移至「Released」階段,在此階段可以手動復原其所有資料。

變更 PersistentVolume 的回收策略

  1. 列出叢集中的 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                     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
    

    此清單也包含繫結至每個卷的宣告名稱,以便更輕鬆地識別動態佈建的卷。

  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
    

    在先前的輸出中,您可以看到繫結至宣告 default/claim3 的卷具有回收策略 Retain。當使用者刪除宣告 default/claim3 時,它不會自動刪除。

下一步

參考文獻

上次修改時間為 2023 年 1 月 11 日上午 11:12 PST:更新 /tasks/administer-cluster 區段中的頁面權重 (b1202c78ff)