Dynamic Volume Provisioning

本文個人博客地址:https://www.huweihuang.com/kubernetes-notes/storage/dynamic-provisioning.html

Dynamic Volume Provisioning

Dynamic volume provisioning允許用戶按需自動創建存儲卷,這種方式可以讓用戶不需要關心存儲的複雜性和差別,又可以選擇不同的存儲類型。

1. 開啓Dynamic Provisioning

需要先提前創建StorageClass對象,StorageClass中定義了使用哪個provisioner,並且在provisioner被調用時傳入哪些參數,具體可參考StorageClass介紹。

例如:

  • 磁盤類存儲
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: slow
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-standard
  • SSD類存儲
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd

2. 使用Dynamic Provisioning

創建一個PVC對象,並且在其中storageClassName字段指明需要用到的StorageClass的名稱,例如:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: claim1
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: fast
  resources:
    requests:
      storage: 30Gi

當使用到PVC的時候會自動創建對應的外部存儲,當PVC被刪除的時候,會自動銷燬(或備份)外部存儲。

3. 默認的StorageClass

當沒有對應的StorageClass配置時,可以設定默認的StorageClass,需要執行以下操作:

可以通過添加storageclass.kubernetes.io/is-default-class註解的方式設置某個StorageClass爲默認的StorageClass。當用戶創建了一個PersistentVolumeClaim,但沒有指定storageClassName的時候,會自動將該PVC的storageClassName指向默認的StorageClass

參考文章:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章