共用方式為


在 Azure 容器儲存體中啟用多區域儲存體備援

您可在多個區域 Azure Kubernetes Service (AKS) 叢集中使用 Azure 容器儲存體時,使用多區域存放集區和區域備援儲存體 (ZRS) 來改善具狀態的應用程式可用性。 若要建立使用可用性區域的 AKS 叢集,請參閱在 Azure Kubernetes Service 中使用可用性區域

必要條件

  • 本文需要最新版本 (2.35.0 或更新版本) 的 Azure CLI。 請參閱如何安裝 Azure CLI。 若您使用的是 Azure Cloud Shell,即已安裝最新版本。 如果您計劃在本機執行命令,而不是在 Azure Cloud Shell 中執行命令,請務必使用系統管理權限來執行這些命令。
  • 您將需要 AKS 叢集,且叢集節點的節點集區至少為三部虛擬機器 (VM),每個節點至少有四個虛擬 CPU (vCPU)。
  • 本文假設您已在 AKS 叢集上安裝 Azure 容器儲存體
  • 您需要 Kubernetes 命令列用戶端 kubectl。 如果您使用 Azure Cloud Shell,則已安裝;您也可以執行 az aks install-cli 命令,在本機安裝。

建立多區域存放集區

在存放集區定義中,您可指定要散發儲存體容量的區域。 存放集區總容量將在多個指定的區域中平均散發。 例如,如果指定兩個區域,每個區域取得一半的存放集區容量;如果指定三個區域,每個區域取得三分之一的總容量。 對應儲存體將佈建在每個區域中。 執行提供應用層級複寫 (例如 Cassandra) 的工作負載時,這可提供幫助。

如果指定區域沒有節點,則在該區域中有節點後,便會佈建容量。 永續性磁碟區 (PV) 僅可從一個區域的存放集區容量建立。

zones 的有效值如下:

  •   },
  • ["1"]
  • ["2"]
  • ["3"]
  • ["1", "2"]
  • ["1", "3"]
  • ["2", "3"]
  • ["1", "2", "3"]

請遵循下列步驟,建立使用 Azure 磁碟的多區域存放集區。 針對 zones,請選擇有效的值。

  1. 使用您慣用的文字編輯器來建立 YAML 資訊清單檔,例如 code acstor-multizone-storagepool.yaml

  2. 貼上下列程式碼並儲存檔案。 存放集區 name 值可以是您想要的任何值。 針對 storage,請在 Gi 或 Ti 中指定集區的儲存體容量。

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      zones: ["1", "2", "3"]
      poolType:
        azureDisk: {}
      resources:
        requests:
          storage: 1Ti
    
  3. 套用 YAML 資訊清單檔以建立多區域存放集區。

    kubectl apply -f acstor-multizone-storagepool.yaml 
    

使用區域備援儲存體 (ZRS) 磁碟

如果工作負載需要儲存體備援,您可運用使用區域備援儲存體的磁碟,在主要區域的三個 Azure 可用性區域中同步複製資料。

您可在存放集區定義中將磁碟 skuName 指定為 StandardSSD_ZRSPremium_ZRS,如下列範例所示。

apiVersion: containerstorage.azure.com/v1
kind: StoragePool
metadata:
  name: azuredisk
  namespace: acstor
spec:
  poolType:
    azureDisk:
      skuName: Premium_ZRS
  resources:
    requests:
      storage: 1Ti

另請參閱