設定預設儲存空間級別

使用 Google Distributed Cloud 軟體 (僅限 VMware) 建立的使用者叢集,會有一或多個 StorageClass 物件,其中一個會指定為預設 StorageClass。本頁面說明如何為使用者叢集設定預設 StorageClass。詳情請參閱「儲存空間」。

本頁面適用於設定及管理儲存空間效能、用量和費用的儲存空間專家。如要進一步瞭解 Google Cloud 內容中提及的常見角色和工作範例,請參閱「常見的 GKE 使用者角色和工作」。

找出預設 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。舉例來說,假設您建立未指定 StorageClass 的 PersistentVolumeClaim,磁碟區控制器會根據預設 StorageClass 滿足要求。

變更預設 StorageClass

叢集管理員可能需要變更預設儲存空間級別。這樣一來,所有未指定 StorageClass 的儲存空間要求,都會根據您選擇的 StorageClass 執行。本節說明變更預設值的步驟。

部署新的儲存系統

部署新的儲存系統和任何軟體元件,將新的儲存機制與 Kubernetes 叢集整合。例如,您可能需要在叢集中安裝 CSI 驅動程式。

這個步驟會因您使用的儲存空間供應商而異。如果是 CSI 驅動程式,供應商應提供將 CSI 驅動程式部署至 Kubernetes 叢集的指示。CSI 驅動程式的文件也應包含您在 StorageClass 中提供的驅動程式專屬參數,包括佈建工具名稱。

為新設備建立 StorageClass 時,應根據其屬性 (例如「fast」或「highly-replicated」) 命名,而非根據其背後的特定驅動程式或設備名稱。這樣一來,您就能更輕鬆地在各個叢集和環境中,套用一致的儲存空間政策。

從預設 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 資訊清單檔案的路徑。

後續步驟