共用方式為


在 Azure Kubernetes Service (AKS) 中透過 Azure 檔案儲存體建立和使用磁碟區

永續性磁碟區代表一塊已佈建來與 Kubernetes Pod 搭配使用的儲存體。 您可以搭配使用永續性磁碟區與一或多個 Pod,並且能以動態或靜態方式佈建該磁碟區。 如果多個 Pod 需要同時存取相同的存放磁碟區,您可以使用 Azure 檔案儲存體來透過伺服器訊息區 (SMB) 通訊協定進行連線。 本文會示範如何在 Azure Kubernetes Service (AKS) 叢集中以動態方式建立 Azure 檔案共用,以供多個 Pod 使用。

本文章說明如何:

  • 透過安裝容器儲存體介面 (CSI) 驅動程式,並動態建立一或多個 Azure 檔案共用來連結至 Pod,以使用動態永續性磁碟區 (PV)。
  • 透過建立一或多個 Azure 檔案共用,或使用現有的檔案共用並將其連結至 Pod,以使用靜態 PV。

如需 Kubernetes 磁碟區的詳細資訊,請參閱 AKS 中的應用程式適用的儲存體選項

開始之前

  • 您需要 Azure 儲存體帳戶
  • 確定您已安裝並設定 Azure CLI 2.0.59 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI
  • 在標準檔案共用與進階檔案共用之間進行選擇時,請務必了解您打算在 Azure 檔案儲存體上執行之預期使用模式的佈建模型和需求。 如需詳細資訊,請參閱根據使用模式選擇 Azure 檔案儲存體效能層級

動態佈建磁碟區

本節可為想要佈建一或多個永續性磁碟區的叢集系統管理員提供指導,這些磁碟區中包含 Azure 檔案儲存體上一或多個共用的詳細資料。 永續性磁碟區宣告 (PVC) 會使用儲存類別物件,以動態方式佈建 Azure 檔案儲存體的檔案共用。

動態 PersistentVolumes 的儲存類別參數

下表包含您可以用來定義 PersistentVolumeClaim 參數的自訂儲存類別。

名稱 意義 可用的值 必要 預設值
accountAccessTier 儲存體帳戶的存取層 標準帳戶可以選擇 HotCool,而進階帳戶只能選擇 Premium No 空白。 針對不同的儲存體帳戶類型使用預設設定。
accountQuota 限制帳戶的配額。 您能夠以 GB 為單位指定最大配額 (預設為 102400GB)。 如果帳戶超過指定的配額,驅動程式就會略過選取帳戶。 No 102400
allowBlobPublicAccess 允許或不允許對驅動程式所建立儲存體帳戶的所有 Blob 或容器進行公用存取。 truefalse No false
disableDeleteRetentionPolicy 指定是否針對驅動程式所建立的儲存體帳戶停用 DeleteRetentionPolicy。 truefalse No false
enableLargeFileShares 指定是否要使用已啟用大型檔案共用的儲存體帳戶。 如果此旗標設定為 true,且已啟用大型檔案共用的儲存體帳戶不存在,則會建立已啟用大型檔案共用的新儲存體帳戶。 此旗標應該與標準 SKU 搭配使用,因為使用進階 SKU 建立的儲存體帳戶預設會啟用 largeFileShares 選項。 truefalse No false
folderName 指定 Azure 檔案共用中的資料夾名稱。 Azure 檔案共用中現有的資料夾名稱。 No 如果檔案共用中沒有資料夾名稱,掛接就會失敗。
getLatestAccount 決定是否根據建立時間取得最新的帳戶金鑰。 此驅動程式預設會取得第一個金鑰。 truefalse No false
location 指定 Azure 儲存體帳戶的 Azure 區域。 例如: eastus No 若空白,驅動程式會使用與目前 AKS 叢集相同的位置名稱。
matchTags 驅動程式嘗試尋找適當的儲存體帳戶時,比對標籤。 truefalse No false
networkEndpointType 為驅動程式所建立的儲存體帳戶指定網路端點類型。 如果指定 privateEndpoint,則會為儲存體帳戶建立私人端點。 若為其他情況,預設會建立服務端點。 No },
protocol 指定檔案共用通訊協定。 % No smb
requireInfraEncryption 指定服務是否針對驅動程式所建立儲存體帳戶的待用資料,使用平台受控金鑰套用第二層加密。 truefalse No false
resourceGroup 指定 Azure 磁碟的資源群組。 現有的資源群組名稱 No 若空白,驅動程式會使用與目前 AKS 叢集相同的資源群組名稱。
selectRandomMatchingAccount 決定是否要隨機選取相符的帳戶。 根據預設,驅動程式一律會依字母順序選取第一個相符的帳戶 (注意:此驅動程式會使用帳戶搜尋快取,這會導致在多個帳戶之間建立的檔案分佈不均)。 truefalse No false
伺服器 指定 Azure 儲存體帳戶伺服器位址。 現有的伺服器位址,例如 accountname.privatelink.file.core.windows.net No 若空白,驅動程式會使用預設的 accountname.file.core.windows.net 或其他主權雲端帳戶位址。
shareAccessTier 檔案共用的存取層 一般用途 v2 帳戶可以選擇 TransactionOptimized (預設)、HotCool。 僅適用於檔案共用的進階儲存體帳戶類型。 No 空白。 針對不同的儲存體帳戶類型使用預設設定。
shareName 指定 Azure 檔案共用名稱。 現有或新的 Azure 檔案共用名稱。 No 若空白,驅動程式會產生 Azure 檔案共用名稱。
shareNamePrefix 指定驅動程式所建立的 Azure 檔案共用名稱前置詞。 共用名稱只能包含小寫字母、數字、連字號,且長度應該少於 21 個字元。 No
skuName Azure 檔案儲存體的儲存體帳戶類型 (別名:storageAccountType) No StandardSSD_LRS
進階帳戶類型的檔案共用大小下限為 100 GB。
支援 ZRS 帳戶類型的區域有限。
NFS 檔案共用僅支援進階帳戶類型。
storageAccount 指定 Azure 儲存體帳戶名稱。 storageAccountName - 否 未提供特定的儲存體帳戶名稱時,驅動程式會尋找符合相同資源群組內帳戶設定的適當儲存體帳戶。 如果找不到相符的儲存體帳戶,則會建立新的帳戶。 但是,如果指定儲存體帳戶名稱,儲存體帳戶必須已經存在。
storageEndpointSuffix 指定 Azure 儲存體端點尾碼。 core.windows.netcore.chinacloudapi.cn 等。 No 若空白,驅動程式會根據雲端環境使用預設儲存體端點尾碼。 例如: core.windows.net
標記 標記會在新的儲存體帳戶中建立。 標記格式:'foo=aaa,bar=bbb' No },
--- 下列參數僅適用於 SMB 通訊協定 --- ---
subscriptionID 指定將於其中建立 Azure 檔案共用的 Azure 訂用帳戶識別碼。 Azure 訂用帳戶識別碼 No 若非空白,必須提供 resourceGroup
storeAccountKey 指定是否要將帳戶金鑰儲存到 Kubernetes 祕密。 truefalse
false 表示驅動程式會使用 kubelet 身分識別來取得帳戶金鑰。
No true
secretName 指定要儲存帳戶金鑰的祕密名稱。 No
secretNamespace 指定要儲存帳戶金鑰的祕密命名空間。

注意
如果未指定 secretNamespace,則會在與 Pod 相同的命名空間中建立秘密。
defaultkube-system 等。 No PVC 命名空間,例如 csi.storage.k8s.io/pvc/namespace
useDataPlaneAPI 指定是否使用資料平面 API (英文) 進行檔案共用的建立/刪除/調整大小,這可以解決 SRP API 節流問題,因為資料平面 API 幾乎沒有限制,但在儲存體帳戶上有防火牆或 Vnet 設定時,該 API 將會失敗。 truefalse No false
--- 下列參數僅適用於 NFS 通訊協定 --- ---
mountPermissions 掛接的資料夾權限。 預設值為 0777。 如果設定為 0,驅動程式不會在掛接之後執行 chmod 0777 No
rootSquashType 指定共用上的根壓縮行為。 預設為 NoRootSquash AllSquash  }, No
--- 下列參數僅適用於 VNet 設定。 例如,NFS、私人端點 --- ---
fsGroupChangePolicy 指出驅動程式如何變更磁碟區的所有權。 系統會忽略 Pod securityContext.fsGroupChangePolicy OnRootMismatch (預設)、AlwaysNone No OnRootMismatch
subnetName 子網路名稱 代理程式節點的現有子網路名稱。 No 如果空白,驅動程式會使用 Azure 雲端組態檔中的 subnetName 值。
vnetName 虛擬網路名稱 現有的虛擬網路名稱。 No 如果空白,驅動程式會使用 Azure 雲端組態檔中的 vnetName 值。
vnetResourceGroup 指定將於其中定義虛擬網路的 VNet 資源群組。 現有的資源群組名稱。 No 如果空白,驅動程式會使用 Azure 雲端組態檔中的 vnetResourceGroup 值。

建立儲存體類別

儲存類別可定義如何建立 Azure 檔案共用。 系統會在節點資源群組中自動建立儲存體帳戶,供儲存類別用來保存 Azure 檔案儲存體的檔案共用。 針對 skuName,請選擇下列 Azure 儲存體備援 SKU

  • Standard_LRS:標準本地備援儲存體 (LRS)
  • Standard_GRS:標準異地備援儲存體 (GRS)
  • Standard_ZRS:標準區域備援儲存體 (ZRS)
  • Standard_RAGRS:標準讀取權限異地備援儲存體 (RA-GRS)
  • Premium_LRS:進階本地備援儲存體 (LRS)
  • Premium_ZRS:進階區域備援儲存體 (ZRS)

注意

最低進階檔案共用大小為 100GB。

關於 Azure 檔案服務的 Kubernetes 儲存體類別,如需詳細資訊,請參閱 Kubernetes 儲存體類別

  1. 建立名為 azure-file-sc.yaml 的檔案,然後將下列資訊清單範例複製進來。 如需 mountOptions 的詳細資訊,請參閱掛接選項一節。

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: my-azurefile
    provisioner: file.csi.azure.com # replace with "kubernetes.io/azure-file" if aks version is less than 1.21
    allowVolumeExpansion: true
    mountOptions:
     - dir_mode=0777
     - file_mode=0777
     - uid=0
     - gid=0
     - mfsymlinks
     - cache=strict
     - actimeo=30
     - nobrl  # disable sending byte range lock requests to the server and for applications which have challenges with posix locks
    parameters:
      skuName: Premium_LRS
    
  2. 使用 kubectl apply 命令建立儲存類別。

    kubectl apply -f azure-file-sc.yaml
    

建立永續性磁碟區宣告

永續性磁碟區宣告 (PVC) 會使用儲存體類別物件,以動態方式佈建 Azure 檔案共用。 您可以使用下列 YAML 來建立大小為 100 GB 且具有 ReadWriteMany 存取權的永續性磁碟區宣告。 如需存取模式的詳細資訊,請參閱 Kubernetes 永續性磁碟區 (英文)。

  1. 建立名為 azure-file-pvc.yaml 的檔案,然後將下列 YAML 複製進來。 請確定 storageClassName 與上一個步驟中建立的儲存類別相符。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-azurefile
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: my-azurefile
      resources:
        requests:
          storage: 100Gi
    

    注意

    如果儲存類別使用 Premium_LRS SKU,則 storage 的最小值必須為 100Gi

  2. 使用 kubectl apply 命令建立永續性磁碟區宣告。

    kubectl apply -f azure-file-pvc.yaml
    

    完成之後,便會建立檔案共用。 此外,也會建立 Kubernetes 祕密,其中包含連線資訊和認證。 您可以使用 kubectl get 命令來檢視 PVC 的狀態:

    kubectl get pvc my-azurefile
    

    此命令的輸出與下列範例類似:

    NAME           STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      AGE
    my-azurefile   Bound     pvc-8436e62e-a0d9-11e5-8521-5a8664dc0477   100Gi       RWX            my-azurefile      5m
    

使用永續性磁碟區

下列 YAML 所建立的 Pod 會使用永續性磁碟區宣告 my-azurefile,將 Azure 檔案儲存體的檔案共用掛接在 /mnt/azure 路徑。 對於 Windows Server 容器,請採用 Windows 路徑慣例來指定 mountPath,例如 'D:'

  1. 建立名為 azure-pvc-files.yaml 的檔案,然後將下列 YAML 複製進來。 請確定 claimName 與上一個步驟中建立的 PVC 相符。

    kind: Pod
    apiVersion: v1
    metadata:
      name: mypod
    spec:
      containers:
        - name: mypod
          image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 250m
              memory: 256Mi
          volumeMounts:
            - mountPath: /mnt/azure
              name: volume
              readOnly: false
      volumes:
       - name: volume
         persistentVolumeClaim:
           claimName: my-azurefile
    
  2. 使用 kubectl apply 命令建立 Pod。

    kubectl apply -f azure-pvc-files.yaml
    

    您現在已有一個 Azure 檔案儲存體檔案共用掛接在 /mnt/azure 目錄中的執行中 Pod。 使用 kubectl describe 命令檢查 Pod 時,可以看到這項組態。 下列扼要範例輸出顯示容器中掛接的磁碟區。

    Containers:
      mypod:
        Container ID:   docker://053bc9c0df72232d755aa040bfba8b533fa696b123876108dec400e364d2523e
        Image:          mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
        Image ID:       docker-pullable://nginx@sha256:d85914d547a6c92faa39ce7058bd7529baacab7e0cd4255442b04577c4d1f424
        State:          Running
          Started:      Fri, 01 Mar 2019 23:56:16 +0000
        Ready:          True
        Mounts:
          /mnt/azure from volume (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from default-token-8rv4z (ro)
    [...]
    Volumes:
      volume:
        Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
        ClaimName:  my-azurefile
        ReadOnly:   false
    [...]
    

掛接選項

若為 Kubernetes 1.13.0 版和更新版本,則 fileModedirMode 的預設值為 0777。 如果以儲存類別動態建立永續性磁碟區,則可在儲存類別物件上指定掛接選項。 如需詳細資訊,請參閱掛接選項 (英文)。 下列範例會設定 0777

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: my-azurefile
provisioner: file.csi.azure.com # replace with "kubernetes.io/azure-file" if aks version is less than 1.21
allowVolumeExpansion: true
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=0
  - gid=0
  - mfsymlinks
  - cache=strict
  - actimeo=30
  - nobrl  # disable sending byte range lock requests to the server and for applications which have challenges with posix locks
parameters:
  skuName: Premium_LRS

使用 Azure 標籤

如需使用 Azure 標籤的詳細資訊,請參閱在 Azure Kubernetes Service (AKS) 中使用 Azure 標籤

靜態佈建磁碟區

本節可為想要建立一或多個永續性磁碟區的叢集系統管理員提供指導,這些磁碟區中包含現有 Azure 檔案儲存體共用的詳細資料以供工作負載使用。

PersistentVolume 的靜態佈建參數

下表包含您可以用來定義 PersistentVolume 的參數。

名稱 意義 可用的值 必要 預設值
volumeAttributes.resourceGroup 指定 Azure 資源群組名稱。 myResourceGroup No 若空白,驅動程式會使用與目前叢集相同的資源群組名稱。
volumeAttributes.storageAccount 指定現有的 Azure 儲存體帳戶名稱。 storageAccountName Yes
volumeAttributes.shareName 指定 Azure 檔案共用名稱。 fileShareName Yes
volumeAttributes.folderName 指定 Azure 檔案共用中的資料夾名稱。 folderName No 如果檔案共用中沒有資料夾名稱,掛接就會失敗。
volumeAttributes.protocol 指定檔案共用通訊協定。 % No smb
volumeAttributes.server 指定 Azure 儲存體帳戶伺服器位址 現有的伺服器位址,例如 accountname.privatelink.file.core.windows.net No 若空白,驅動程式會使用預設的 accountname.file.core.windows.net 或其他主權雲端帳戶位址。
--- 下列參數僅適用於 SMB 通訊協定 --- --- ---
volumeAttributes.secretName 指定可儲存儲存體帳戶名稱和金鑰的秘密名稱。 No
volumeAttributes.secretNamespace 指定秘密命名空間。 defaultkube-system 等。 No PVC 命名空間 (csi.storage.k8s.io/pvc/namespace)
nodeStageSecretRef.name 指定可儲存儲存體帳戶名稱和金鑰的秘密名稱。 現有的祕密名稱。 No 若為空,驅動程式會使用 kubelet 身分識別來取得帳戶金鑰。
nodeStageSecretRef.namespace 指定秘密命名空間。 Kubernetes 命名空間 No
--- 下列參數僅適用於 NFS 通訊協定 --- --- ---
volumeAttributes.fsGroupChangePolicy 指出驅動程式如何變更磁碟區的所有權。 系統會忽略 Pod securityContext.fsGroupChangePolicy OnRootMismatch (預設)、AlwaysNone No OnRootMismatch
volumeAttributes.mountPermissions 指定掛接的資料夾權限。 預設為 0777 No

建立 Azure 檔案共用

在使用 Azure 檔案儲存體的檔案共用作為 Kubernetes 磁碟區之前,您必須建立 Azure 儲存體帳戶與檔案共用。

  1. 使用 az aks show 命令搭配 --query nodeResourceGroup 參數來取得資源群組名稱。

    az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
    

    此命令的輸出與下列範例類似:

    MC_myResourceGroup_myAKSCluster_eastus
    
  2. 使用 az storage account create 命令搭配 --sku 參數來建立儲存體帳戶。 下列命令會使用 Standard_LRS SKU 建立儲存體帳戶。 請務必取代下列預留位置:

    • myAKSStorageAccount 取代為儲存體帳戶的名稱
    • nodeResourceGroupName 取代為 AKS 叢集節點裝載所在的資源群組名稱
    • location 取代為要建立資源的區域名稱。 該區域應該與 AKS 叢集節點所在區域相同。
    az storage account create -n myAKSStorageAccount -g nodeResourceGroupName -l location --sku Standard_LRS
    
  3. 使用下列命令將連接字串匯出為環境變數,以用來建立檔案共用。

    export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string -n storageAccountName -g resourceGroupName -o tsv)
    
  4. 使用 az storage share create 命令建立檔案共用。 請務必將 shareName 取代為您的共用名稱。

    az storage share create -n shareName --connection-string $AZURE_STORAGE_CONNECTION_STRING
    
  5. 使用下列命令將儲存體帳戶金鑰匯出為環境變數。

    STORAGE_KEY=$(az storage account keys list --resource-group nodeResourceGroupName --account-name myAKSStorageAccount --query "[0].value" -o tsv)
    
  6. 使用下列命令回應儲存體帳戶名稱和金鑰。 請複製這些資訊,因為您在建立 Kubernetes 磁碟區時需要這些值。

    echo Storage account key: $STORAGE_KEY
    

建立 Kubernetes 祕密

Kubernetes 必須要有認證才能存取前面步驟中建立的檔案共用。 這些認證會儲存在 Kubernetes 祕密,並在建立 Kubernetes Pod 時加以參考。

  1. 使用 kubectl create secret 命令建立秘密。 下列範例會建立名為 azure-secret 的祕密,並填入前面步驟中的 azurestorageaccountname 和 azurestorageaccountkey。 若要使用現有的 Azure 儲存體帳戶,請提供帳戶名稱和金鑰。

    kubectl create secret generic azure-secret --from-literal=azurestorageaccountname=myAKSStorageAccount --from-literal=azurestorageaccountkey=$STORAGE_KEY
    

將檔案共用掛接為永續性磁碟區

  1. 建立名為 azurefiles-pv.yaml 的新檔案,並在其中複製下列內容。 在 csi 之下,更新 resourceGroupvolumeHandleshareName。 針對掛接選項,fileModedirMode 的預設值為 0777

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      annotations:
        pv.kubernetes.io/provisioned-by: file.csi.azure.com
      name: azurefile
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      storageClassName: azurefile-csi
      csi:
        driver: file.csi.azure.com
        volumeHandle: "{resource-group-name}#{account-name}#{file-share-name}"  # make sure this volumeid is unique for every identical share in the cluster
        volumeAttributes:
          resourceGroup: resourceGroupName  # optional, only set this when storage account is not in the same resource group as node
          shareName: aksshare
        nodeStageSecretRef:
          name: azure-secret
          namespace: default
      mountOptions:
        - dir_mode=0777
        - file_mode=0777
        - uid=0
        - gid=0
        - mfsymlinks
        - cache=strict
        - nosharesock
        - nobrl  # disable sending byte range lock requests to the server and for applications which have challenges with posix locks
    
  2. 使用 kubectl create 命令建立永續性磁碟區。

    kubectl create -f azurefiles-pv.yaml
    
  3. 建立名為 azurefiles-mount-options-pvc.yaml 的新檔案,並複製下列內容。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: azurefile
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: azurefile-csi
      volumeName: azurefile
      resources:
        requests:
          storage: 5Gi
    
  4. 使用 kubectl apply 命令建立 PersistentVolumeClaim。

    kubectl apply -f azurefiles-mount-options-pvc.yaml
    
  5. 使用 kubectl get 命令,驗證 PersistentVolumeClaim 已建立完成並繫結至 PersistentVolume。

    kubectl get pvc azurefile
    

    此命令的輸出與下列範例類似:

    NAME        STATUS   VOLUME      CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    azurefile   Bound    azurefile   5Gi        RWX            azurefile      5s
    
  6. 在 YAML 檔案中將您的容器規格更新為參考 PersistentVolumeClaim 和 Pod。 例如:

    ...
      volumes:
      - name: azure
        persistentVolumeClaim:
          claimName: azurefile
    
  7. Pod 規格無法就地更新,因此請使用 kubectl delete 命令刪除 Pod,並使用 kubectl apply 命令重新建立 Pod。

    kubectl delete pod mypod
    
    kubectl apply -f azure-files-pod.yaml
    

將檔案共用掛接為內嵌磁碟區

注意

若要避免發生效能問題,建議您在多個 Pod 存取相同的檔案共用時,使用永續性磁碟區而不是內嵌磁碟區。 內嵌的磁碟區只能存取與 Pod 位於相同命名空間中的金鑰。 若要指定不同的祕密命名空間,請使用永續性磁碟區

若要將 Azure 檔案儲存體的檔案共用掛接到 Pod,請在容器規格中設定磁碟區。

  1. 建立名為 azure-files-pod.yaml 的新檔案,並在其中複製下列內容。 如果您變更了檔案共用的名稱或祕密名稱,請更新 shareNamesecretName。 您也可以更新 mountPath,這是 Pod 中檔案共用掛接所在的路徑。 對於 Windows Server 容器,請採用 Windows 路徑慣例來指定 mountPath,例如 'D:'
apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  nodeSelector:
    kubernetes.io/os: linux
  containers:
    - image: 'mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine'
      name: mypod
      resources:
        requests:
          cpu: 100m
          memory: 128Mi
        limits:
          cpu: 250m
          memory: 256Mi
      volumeMounts:
        - name: azure
          mountPath: /mnt/azure
          readOnly: false
  volumes:
    - name: azure
      csi:
        driver: file.csi.azure.com
        volumeAttributes:
          secretName: azure-secret  # required
          shareName: aksshare  # required
          mountOptions: 'dir_mode=0777,file_mode=0777,cache=strict,actimeo=30,nosharesock,nobrl'  # optional
  1. 使用 kubectl apply 命令建立 Pod。

    kubectl apply -f azure-files-pod.yaml
    

    您現在已有一個 Azure 檔案儲存體檔案共用掛接在 /mnt/azure 的執行中 Pod。 您可以使用 kubectl describe 命令來驗證是否已成功掛接共用。

    kubectl describe pod mypod
    

下一步

如需 Azure 檔案儲存體的 CSI 驅動程式參數,請參閱 CSI 驅動程式參數

如需相關的最佳做法,請參閱 AKS 中的儲存和備份最佳做法