使用 Google Distributed Cloud (僅限軟體) for VMware 建立的使用者叢集,會有一或多個 StorageClass 物件,其中一個會指定為預設 StorageClass。本頁說明如何為使用者叢集設定預設 StorageClass。詳情請參閱「儲存空間」。
本頁面適用於儲存空間專家,他們負責設定及管理儲存空間效能、用量和費用。如要進一步瞭解內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。 Google Cloud
找出預設的 StorageClass
列出所有 StorageClass:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses
輸出內容會顯示預設的 StorageClass。舉例來說,在下列輸出內容中,您可以看到名為 standard-rwo
的 StorageClass 是預設 StorageClass:
standard kubernetes.io/vsphere-volume standard-rwo (default) csi.vsphere.vmware.com
要求儲存空間時,您可以指定 StorageClass。如未指定 StorageClass,系統會使用預設的 StorageClass。舉例來說,假設您建立的 PersistentVolumeClaim 未指定 StorageClass,磁碟區控制器會根據預設的 StorageClass 滿足聲明。
變更預設儲存空間級別
叢集管理員可能需要變更預設的儲存空間級別。之後,所有未指定 StorageClass 的儲存空間要求,都會根據您選擇的 StorageClass 執行。本節說明如何變更預設值。
部署新的儲存系統
部署新的儲存系統,以及將新儲存機制與 Kubernetes 叢集整合的任何軟體元件。舉例來說,您可能需要在叢集中安裝 CSI 驅動程式。
這個步驟取決於您使用的儲存空間供應商。對於 CSI 驅動程式,供應商應提供將 CSI 驅動程式部署至 Kubernetes 叢集的說明。CSI 驅動程式的文件也應包含您在 StorageClass 中提供的驅動程式專屬參數,包括佈建者名稱。
為新設備建立 StorageClass 時,應根據其屬性 (例如「fast」或「highly-replicated」) 命名 StorageClass,而不是根據其背後的特定驅動程式或設備名稱。這樣一來,您就能更輕鬆地在叢集和環境中維持一致的儲存空間政策。
從預設 StorageClass 移除預設註解
在文字編輯器中開啟預設 StorageClass:
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \ DEFAULT_STORAGE_CLASS
在文字編輯器中,移除 storageclass.kubernetes.io/is-default-class: "true"
註解。關閉文字編輯器。
如要確認註解已移除,請輸入下列指令:
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get storageclass \ DEFAULT_STORAGE_CLASS --output yaml
建立新的 StorageClass
為新的 StorageClass 建立資訊清單。
加入 storageclass.kubernetes.io/is-default-class: "true"
註解。
例如:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: storageclass.kubernetes.io/is-default-class: "true" ... name: my-storage-class ... parameters: ... provisioner: [MY_PROVISIONER] ...
將資訊清單儲存為 YAML 檔案,然後建立新的 StorageClass:
kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply -f [MANIFEST_FILE]
其中 [MANIFEST_FILE] 是新 StorageClass 資訊清單檔案的路徑。