Freigeben über


Aktivieren der Multizonen-Speicherredundanz in Azure Container Storage

Sie können die zustandsbehaftete Anwendungsverfügbarkeit verbessern, indem Sie Speicherpools mit mehreren Zonen und zonenredundante Speicherdatenträger (ZRS) verwenden, wenn Sie Azure Container Storage in einem Mehrzonen-Azure Kubernetes Service (AKS)-Cluster verwenden. Informationen zum Erstellen eines AKS-Clusters, das Verfügbarkeitszonen verwendet, finden Sie unter Verwenden von Verfügbarkeitszonen in Azure Kubernetes Service.

Voraussetzungen

  • Für diesen Artikel ist die aktuelle Azure CLI-Version (mindestens Version 2.35.0) erforderlich. Weitere Informationen finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert. Wenn Sie die Befehle nicht in Azure Cloud Shell, sondern lokal ausführen möchten, führen Sie sie mit Administratorrechten aus.
  • Sie benötigen ein AKS-Cluster mit einem Knotenpool von mindestens drei virtuellen Computern (VMs) für die Clusterknoten mit jeweils mindestens vier virtuellen CPUs (vCPUs).
  • In diesem Artikel wird davon ausgegangen, dass Sie Azure Container Storage bereits auf Ihrem AKS-Cluster installiert haben.
  • Sie benötigen den Kubernetes-Befehlszeilenclient kubectl. Es ist bereits installiert, wenn Sie Azure Cloud Shell verwenden. Sie können ihn auch lokal installieren, indem Sie den Befehl „az aks install-cli“ ausführen.

Erstellen eines Speicherpools mit mehreren Zonen

In Ihrer Speicherpooldefinition können Sie die Zonen angeben, in denen Ihre Speicherkapazität verteilt werden soll. Die gesamte Speicherpoolkapazität wird gleichmäßig über die Anzahl der angegebenen Zonen verteilt. Wenn beispielsweise zwei Zonen angegeben werden, erhält jede Zone die Hälfte der Speicherpoolkapazität; Wenn drei Zonen angegeben werden, erhält jede Zone ein Drittel der Gesamtkapazität. Der entsprechende Speicher wird in den einzelnen Zonen bereitgestellt. Dies ist nützlich, wenn Arbeitslasten ausgeführt werden, die Replikation auf Anwendungsebene wie Cassandra bieten.

Wenn in einer angegebenen Zone keine Knoten verfügbar sind, wird die Kapazität bereitgestellt, sobald ein Knoten in dieser Zone verfügbar ist. Persistent Volumes (PVs) können nur aus Speicherpoolkapazität aus einer Zone erstellt werden.

Gültige Werte für zones sind:

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

Führen Sie die folgenden Schritte aus, um einen Speicherpool mit mehreren Zonen zu erstellen, der Azure-Datenträger verwendet. Wählen Sie für zones einen gültigen Wert aus.

  1. Verwenden Sie Ihren bevorzugten Text-Editor, um eine YAML-Manifestdatei wie code acstor-multizone-storagepool.yaml zu erstellen.

  2. Fügen Sie den folgenden Code ein, und speichern Sie die Datei. Der Wert des Namens für den Speicherpool kann beliebig sein. Geben Sie für storage die Speicherkapazität für den Pool in Gi oder Ti an.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      zones: ["1", "2", "3"]
      poolType:
        azureDisk: {}
      resources:
        requests:
          storage: 1Ti
    
  3. Wenden Sie die YAML-Manifestdatei an, um den Mulitzonen-Speicherpool zu erstellen.

    kubectl apply -f acstor-multizone-storagepool.yaml 
    

Unterstützung von ZRS-Datenträgern (zonenredundanter Speicher)

Wenn Ihre Workload Speicherredundanz erfordert, können Sie Datenträger nutzen, die zonenredundanten Speicher verwenden, wodurch Ihre Daten synchron in drei Azure-Verfügbarkeitszonen in der primären Region kopiert werden.

Sie können den Datenträger skuName wie im folgenden Beispiel als entweder StandardSSD_ZRS oder Premium_ZRS in Ihrer Speicherpooldefinition angeben.

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

Siehe auch