Kubernetes 更改PersistentVolume的回收策略

2022-06-08 10:25 更新

更改 PersistentVolume 的回收策略

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

在開始之前

你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點的集群上運行本教程,且這些節(jié)點不作為控制平面主機。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構(gòu)建:

要檢查版本,請輸入 ?kubectl version?。

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

PersistentVolumes 可以有多種回收策略,包括 "Retain"、"Recycle" 和 "Delete"。 對于動態(tài)配置的 PersistentVolumes 來說,默認回收策略為 "Delete"。 這表示當用戶刪除對應的 PersistentVolumeClaim 時,動態(tài)配置的 volume 將被自動刪除。 如果 volume 包含重要數(shù)據(jù)時,這種自動行為可能是不合適的。 那種情況下,更適合使用 "Retain" 策略。 使用 "Retain" 時,如果用戶刪除 PersistentVolumeClaim,對應的 PersistentVolume 不會被刪除。 相反,它將變?yōu)?nbsp;Released 狀態(tài),表示所有的數(shù)據(jù)可以被手動恢復。

更改 PersistentVolume 的回收策略

  1. 列出你集群中的 PersistentVolumes
  2. 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

    這個列表同樣包含了綁定到每個卷的 claims 名稱,以便更容易的識別動態(tài)配置的卷。

  3. 選擇你的 PersistentVolumes 中的一個并更改它的回收策略:
  4. kubectl patch pv <your-pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
    

    這里的 ?<your-pv-name>? 是你選擇的 PersistentVolume 的名字。

    Note:
    在 Windows 系統(tǒng)上,你必須對包含空格的 JSONPath 模板加雙引號(而不是像上面 一樣為 Bash 環(huán)境使用的單引號)。這也意味著你必須使用單引號或者轉(zhuǎn)義的雙引號 來處理模板中的字面值。例如:
    kubectl patch pv <your-pv-name> -p "{\"spec\":{\"persistentVolumeReclaimPolicy\":\"Retain\"}}"
    
  5. 驗證你選擇的 PersistentVolume 擁有正確的策略:
  6. 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? 時,它不會被自動刪除。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號