【K8s任務】改變默認 StorageClass


參考:https://kubernetes.io/zh/docs/tasks/administer-cluster/change-default-storage-class/

為什么要改變默認存儲類?

取決於安裝模式,你的 Kubernetes 集群可能和一個被標記為默認的已有 StorageClass 一起部署。 這個默認的 StorageClass 以后將被用於動態的為沒有特定存儲類需求的 PersistentVolumeClaims 配置存儲。更多細節請查看 PersistentVolumeClaim 文檔。

預先安裝的默認 StorageClass 可能不能很好的適應你期望的工作負載;例如,它配置的存儲可能太過昂貴。 如果是這樣的話,你可以改變默認 StorageClass,或者完全禁用它以防止動態配置存儲。

刪除默認 StorageClass 可能行不通,因為它可能會被你集群中的擴展管理器自動重建。 請查閱你的安裝文檔中關於擴展管理器的細節,以及如何禁用單個擴展。

改變默認 StorageClass

    1.列出你的集群中的 StorageClasses:

    kubectl get storageclass

    輸出類似這樣:

    NAME                 PROVISIONER               AGE
    standard (default)   kubernetes.io/gce-pd      1d
    gold                 kubernetes.io/gce-pd      1d

    默認 StorageClass 以 (default) 標記。

    2.標記默認 StorageClass 非默認:

    默認 StorageClass 的注解 storageclass.kubernetes.io/is-default-class 設置為 true。 注解的其它任意值或者缺省值將被解釋為 false。

    要標記一個 StorageClass 為非默認的,你需要改變它的值為 false:

    kubectl patch storageclass standard -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'

    這里的 standard 是你選擇的 StorageClass 的名字。

    3.標記一個 StorageClass 為默認的:

    和前面的步驟類似,你需要添加/設置注解 storageclass.kubernetes.io/is-default-class=true。

    kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

    請注意,最多只能有一個 StorageClass 能夠被標記為默認。 如果它們中有兩個或多個被標記為默認,Kubernetes 將忽略這個注解, 也就是它將表現為沒有默認 StorageClass。

    4.驗證你選用的 StorageClass 為默認的:

    kubectl get storageclass

    輸出類似這樣:

    NAME             PROVISIONER               AGE
    standard         kubernetes.io/gce-pd      1d
    gold (default)   kubernetes.io/gce-pd      1d


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM