共用方式為


Azure Kubernetes Service (AKS) 上的容器儲存體介面 (CSI) 驅動程式 (部分機器翻譯)

容器儲存體介面 (CSI) 是一種標準,可對 Kubernetes 上的容器化工作負載公開任意區塊及檔案儲存體系統。 透過採用和使用 CSI,Azure Kubernetes Service (AKS) 可以寫入、部署和逐一查看外掛程式,以在 Kubernetes 中公開新的或改進現有儲存體系統,而無需接觸核心 Kubernetes 程式碼並等待其發行週期。

AKS 上的 CSI 儲存體驅動程式支援允許您以原生方式使用:

  • Azure 磁碟 可用來建立 Kubernetes DataDisk 資源。 磁碟可以使用 Azure 進階儲存體,由高效能 SSD 或 Azure 標準 儲存體 支援,由一般 HDD 或標準 SSD 支援。 針對大多數的生產和開發工作負載,請使用進階儲存體。 Azure 磁碟裝載為 ReadWriteOnce,並且僅可用於 AKS 中的一個節點。 如需可同時由多個節點存取的儲存體磁碟區,請使用 Azure 檔案儲存體。
  • Azure 檔案儲存體 可用來將 Azure 記憶體帳戶支援的 SMB 3.0/3.1 共用掛接至 Pod。 藉由 Azure 檔案儲存體,您可以在多個節點和 Pod 之間共用資料。 Azure 檔案儲存體可以使用一般 HDD 支援的 Azure 標準儲存體,或是由高效能 SSD 支援的 Azure 進階儲存體。
  • Azure Blob 記憶體 可用來將 Blob 記憶體(或物件記憶體)掛接為文件系統到容器或 Pod。 使用 Blob 儲存體使您的叢集能够支援使用大型非結構化資料集 (如記錄檔資料、映像或文件、HPC 等) 的應用程式。 此外,如果您將數據擷取至 Azure Data Lake 記憶體,則可以直接掛接並在 AKS 中使用,而不需設定另一個過渡文件系統。

重要

從 Kubernetes 1.26 版開始,樹狀結構中的永續性磁碟區類型 kubernetes.io/azure-diskkubernetes.io/azure-file 已被取代,不再受到支援。 未規劃在淘汰之後移除這些驅動程式,不過您應該移轉至對應的 CSI 驅動程式 disk.csi.azure.comfile.csi.azure.com。 若要檢閱記憶體類別的移轉選項,並將叢集升級為使用 Azure 磁碟和 Azure 檔案儲存體 CSI 驅動程式,請參閱從樹狀結構移轉至 CSI 驅動程式

樹狀結構驅動程式 是指屬於核心 Kubernetes 程式代碼中與 CSI 驅動程式相反的記憶體驅動程式,這些驅動程式是外掛程式。

注意

刪除 CSI 磁碟區時,建議刪除對應的 PersistentVolumeClaim 物件,而不是 PersistentVolume 物件。 CSI 驅動程式中的外部布建器會回應刪除 PersistentVolumeClaim,並根據其回收原則,對 CSI 磁碟區驅動程式命令發出 DeleteVolume 呼叫,以刪除磁碟區。 接著會刪除 PersistentVolume 物件。

必要條件

  • 您必須安裝並設定 Azure CLI 2.42 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI
  • 如果您的叢集已安裝開放原始碼 CSI 記憶體驅動程式,請先將它卸載,再啟用 Azure 記憶體 CSI 驅動程式。
  • 若要強制執行 AKS 原則定義的Azure 原則 Kubernetes 叢集應該使用 Container 儲存體 Interface(CSI) 驅動程式 儲存體 Class,必須在新的和現有的叢集上啟用 Azure 原則 附加元件。 針對現有的叢集,請檢閱 Learn Azure 原則 for Kubernetes 以啟用它。

磁碟加密支援的案例

CSI 記憶體驅動程式支援下列案例:

在現有叢集上啟用 CSI 記憶體驅動程式

若要在新叢集上啟用 CSI 記憶體驅動程式,請根據記憶體系統包含下列其中一個參數:

az aks update --name myAKSCluster --resource-group myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller

完成此動作可能需要幾分鐘的時間。 完成後,您應該會在輸出中看到在叢集上啟用驅動程式的狀態。 下列範例類似於 區段,指出啟用 Blob 記憶體 CSI 驅動程式時的結果:

"storageProfile": {
    "blobCsiDriver": {
      "enabled": true
    },

在新的或現有的叢集上停用 CSI 記憶體驅動程式

若要停用新叢集上的 CSI 記憶體驅動程式,請根據記憶體系統包含下列其中一個參數:

az aks create --name myAKSCluster --resource-group myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller 

若要停用現有叢集上的 CSI 記憶體驅動程式,請使用稍早列出的其中一個參數,視記憶體系統而定:

az aks update --name myAKSCluster --resource-group myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller 

將自定義樹狀結構記憶體類別移轉至 CSI

如果您已建立樹狀結構中的驅動程式儲存類別,這些記憶體類別會繼續運作,因為將叢集升級至 1.21.x 之後,CSI 移轉已開啟。 如果您想要使用 CSI 功能,則必須執行移轉。

若要檢閱記憶體類別的移轉選項,並將叢集升級為使用 Azure 磁碟和 Azure 檔案儲存體 CSI 驅動程式,請參閱從樹狀結構移轉至 CSI 驅動程式

下一步