為 Azure Kubernetes Service 設定 Azure NetApp Files

永續性磁碟區代表一塊已佈建來與 Kubernetes Pod 搭配使用的儲存體。 永續性磁碟區可供一個或多個 Pod 使用,並且能以靜態或動態方式佈建。 本文介紹如何設定 Azure NetApp Files,以供 Azure Kubernetes Service (AKS) 叢集中的 Pod 使用。

Azure NetApp Files 是 Azure 上執行的企業級高效能計量檔案儲存體服務,支援使用 NFS (NFSv3 或 NFSv4.1)、SMB雙重通訊協定 (NFSv3 和 SMB,或 NFSv4.1 和 SMB) 的磁碟區。 Kubernetes 使用者在針對 Kubernetes 工作負載使用 Azure NetApp Files 磁碟區時,有兩個選項:

  • 以靜態方式建立 Azure NetApp Files 磁碟區。 在這種狀況下,磁碟區的建立是在 AKS 外部進行。 這些磁碟區可使用 Azure CLI 或從 Azure 入口網站加以建立,然後透過建立 PersistentVolume 以公開至 Kubernetes。 靜態建立 Azure NetApp Files 磁碟區有許多限制 (例如無法擴充、需要過度佈建等)。 在大部分的使用案例中,不建議使用靜態建立的磁碟區。
  • 以動態方式建立 Azure NetApp Files 磁碟區,並透過 Kubernetes 進行協調。 此方法是直接透過 Kubernetes 建立多個磁碟區的慣用方法,可利用 Astra Trident 加以實現。 Astra Trident 是符合 CSI 規範的動態儲存體協調器,可協助透過 Kubernetes 原生佈建磁碟區。

注意

只能以靜態方式建立雙重通訊協定磁碟區。 如需搭配 Azure Kubernetes Service 使用雙重通訊協定磁碟區的詳細資訊,請參閱佈建適用於 Azure Kubernetes Service 的 Azure NetApp Files 雙重通訊協定磁碟區

針對大部分的使用案例,建議的組態是使用 CSI 驅動程式來直接取用 AKS 工作負載中的 Azure NetApp Files 磁碟區。 使用 Astra Trident (適用於 Kubernetes 的開放原始碼動態儲存體協調器) 即可達成此需求。 Astra Trident 是專為 Kubernetes 所建置的企業級儲存體協調器,並得到 NetApp 的完全支援。 這藉由自動化儲存體佈建,簡化從 Kubernetes 叢集存取儲存體。

您可以利用適用於 Azure NetApp Files 的 Astra Trident 容器儲存體介面 (CSI) 驅動程式來提取基礎詳細資料,並視需要建立、展開磁碟區並對其進行快照。 此外,使用 Astra Trident 可讓您使用以 Astra Trident 為建置基礎的 Astra Control Service。 使用 Astra Control Service,您可以跨 Azure 區域內的叢集和跨 Azure 區域備份、復原、移動及管理 AKS 工作負載的應用程式資料生命週期,以符合您的商務和服務持續性需求。

開始之前

您使用 Azure NetApp Files 時,適用下列考量:

  • 您的 AKS 叢集必須位於支援 Azure NetApp Files 的區域
  • 已安裝並設定 Azure CLI 2.0.59 版或更高版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI
  • 在 AKS 叢集的初始部署之後,您可以選擇靜態或動態佈建 Azure NetApp Files 磁碟區。
  • 若要搭配採用網路檔案系統 (NFS) 的 Azure NetApp Files 使用動態佈建,請安裝和設定 Astra Trident 19.07 版或更高版本。 若要搭配採用安全訊息區塊 (SMB) 的 Azure NetApp Files 使用動態佈建,請安裝和設定 Astra Trident 22.10 版或更高版本。 只有在 Windows 背景工作角色節點上才支援動態佈建 SMB 共用。
  • 在部署 Azure NetApp Files SMB 磁碟區之前,您必須識別 Azure NetApp Files 的 AD DS 整合需求,以確保 Azure NetApp Files 妥善連線到 AD DS。 如需詳細資訊,請參閱了解 Active Directory Domain Services 網站設計與規劃指導方針。 AKS 叢集和 Azure NetApp Files 都必須連線到同一個 AD。

為 AKS 工作負載設定 Azure NetApp Files

本節說明如何為 AKS 工作負載設定 Azure NetApp Files。 本節內容適用於本文的所有狀況。

  1. 定義變數以供日後使用。 將 myresourcegroupmylocationmyaccountnamemypool1poolsizepremiummyvnetmyANFSubnetmyprefix 取代為您環境適用的值。

    RESOURCE_GROUP="myresourcegroup"
    LOCATION="mylocation"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    SIZE="poolsize" # size in TiB
    SERVICE_LEVEL="Premium" # valid values are Standard, Premium and Ultra
    VNET_NAME="myvnet"
    SUBNET_NAME="myANFSubnet"
    ADDRESS_PREFIX="myprefix"
    
  2. 執行下列命令來註冊 Microsoft.NetApp 資源提供者:

    az provider register --namespace Microsoft.NetApp --wait
    

    注意

    此作業可能需要幾分鐘的時間才能完成。

  3. 使用 az netappfiles account create 命令建立新的帳戶。 當建立 Azure NetApp 帳戶以搭配 AKS 使用時,您可以在現有的資源群組中建立帳戶,或在與 AKS 叢集相同的區域中建立新的帳戶。

    az netappfiles account create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --account-name $ANF_ACCOUNT_NAME
    
  4. 使用 az netappfiles pool create 命令建立新的容量集區。 將命令中顯示的變數取代為您的 Azure NetApp Files 資訊。 account_name 應該與步驟 3 中建立的帳戶名稱相同。

    az netappfiles pool create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --account-name $ANF_ACCOUNT_NAME \
        --pool-name $POOL_NAME \
        --size $SIZE \
        --service-level $SERVICE_LEVEL
    
  5. 使用 az network vnet subnet create 命令建立要委派給 Azure NetApp Files 的子網路。 指定裝載 AKS 叢集現有虛擬網路的資源群組。 將命令中顯示的變數取代為您的 Azure NetApp Files 資訊。

    注意

    這個子網路必須位於與 AKS 叢集相同的虛擬網路中。

    az network vnet subnet create \
        --resource-group $RESOURCE_GROUP \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --delegations "Microsoft.Netapp/volumes" \
        --address-prefixes $ADDRESS_PREFIX
    

靜態或動態佈建適用於 NFS 或 SMB 的 Azure NetApp Files 磁碟區

為 AKS 工作負載設定 Azure NetApp Files 之後,您可以使用容量集區內的 NFS、SMB 或雙重通訊協定磁碟區,以靜態或動態方式佈建 Azure NetApp Files。 請依照下列指示進行操作:

下一步

Astra Trident 可透過 Azure NetApp Files 支援許多功能。 如需詳細資訊,請參閱