Teilen über


Schnellstart: Verwenden von Azure Container Storage (Version 1.x.x) mit Azure Kubernetes Service

Azure Container Storage ist ein cloudbasierter Volumeverwaltungs-, Bereitstellungs- und Orchestrierungsdienst, der nativ für Container erstellt wurde. In dieser Schnellstartanleitung erfahren Sie, wie Sie eine Verbindung mit einem Linux-basierten Azure Kubernetes Service (AKS) -Cluster herstellen, Azure Container Storage (Version 1.x.x) installieren und einen Speicherpool mit Azure CLI erstellen.

Von Bedeutung

In diesem Artikel wird erläutert, wie Sie Azure Container Storage (Version 1.x.x) installieren, der jetzt explizit einen Versionsheftungsparameter --container-storage-version 1 für die Installation erfordert. Azure Container Storage (Version 2.x.x) ist jetzt verfügbar.

Voraussetzungen

  • Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

  • Für diesen Artikel ist die Azure CLI-Version v2.83.0 oder höher erforderlich. Weitere Informationen finden Sie unter Installieren der Azure CLI. Deaktivieren Sie Erweiterungen wie aks-preview, wenn Probleme auftreten. Installieren oder Aktualisieren von Erweiterungen nach Bedarf:

    • az extension add --upgrade --name k8s-extension
    • az extension add --upgrade --name elastic-san (Nur elastisch SAN)
  • Sie benötigen den Kubernetes-Befehlszeilenclient. kubectl Sie ist bereits installiert, wenn Sie Azure Cloud Shell verwenden. Sie können es lokal installieren, indem Sie den az aks install-cli Befehl ausführen.

  • Überprüfen Sie, ob Ihre Zielregion in Azure Container Storage-Regionen unterstützt wird.

Erste Schritte

  • Notieren Sie sich Ihre Azure-Abonnement-ID. Wenn Sie Azure Elastic SAN als Datenspeicher verwenden möchten, benötigen Sie entweder eine Azure Container Storage Owner-Rolle oder eine Azure Container Storage-Mitwirkenderrolle , die dem Azure-Abonnement zugewiesen ist. Der Zugriff auf Besitzerebene ermöglicht Ihnen die Installation der Azure Container Storage-Erweiterung, gewährt Zugriff auf seine Speicherressourcen und gewährt Ihnen die Berechtigung, Ihre Azure Elastic SAN-Ressource zu konfigurieren. Mitwirkenden-Zugriff ermöglicht die Installation der Erweiterung und gewährt Zugriff auf die Speicherressourcen der Erweiterung. Wenn Sie planen, Azure Disks oder Ephemeral Disk als Datenspeicher zu verwenden, benötigen Sie keine speziellen Berechtigungen für Ihr Abonnement.

  • Starten Sie Azure Cloud Shell, oder melden Sie sich mit dem Az-Anmeldebefehl bei Azure an, wenn Sie eine lokale Installation verwenden.

  • Wenn Sie Azure Cloud Shell verwenden, werden Sie möglicherweise aufgefordert, Den Speicher einzulagern. Wählen Sie das Azure-Abonnement aus, in dem Sie das Speicherkonto erstellen möchten, und wählen Sie "Erstellen" aus.

Festlegen des Abonnementkontexts

Legen Sie Ihren Azure-Abonnementkontext mithilfe des az account set Befehls fest. Sie können die Abonnement-IDs für alle Abonnements anzeigen, auf die Sie Zugriff haben, indem Sie den az account list --output table Befehl ausführen. Denken Sie daran, <subscription-id> durch Ihre Abonnement-ID zu ersetzen.

az account set --subscription <subscription-id>

Herstellen einer Verbindung mit dem Cluster

Verwenden Sie den Kubernetes-Befehlszeilenclient, kubectlum eine Verbindung mit dem Cluster herzustellen. Sie ist bereits installiert, wenn Sie Azure Cloud Shell verwenden, oder Sie können sie lokal installieren, indem Sie den az aks install-cli Befehl ausführen.

  1. Konfigurieren Sie kubectl, um mithilfe des Befehls „az aks get-credentials“ eine Verbindung mit Ihrem Cluster herzustellen. Der folgende Befehl:

    • Lädt Anmeldeinformationen herunter und konfiguriert die Kubernetes CLI für die Verwendung.
    • Verwendet ~/.kube/configden Standardspeicherort für die Kubernetes-Konfigurationsdatei. Sie können einen anderen Speicherort für Ihre Kubernetes-Konfigurationsdatei angeben, indem Sie das Argument "-file " verwenden.
    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Überprüfen Sie die Verbindung mit dem Cluster mithilfe des Befehls kubectl get. Dieser Befehl gibt eine Liste der Clusterknoten zurück.

    kubectl get nodes
    
  3. Das folgende Ausgabebeispiel zeigt die Knoten in Ihrem Cluster. Stellen Sie sicher, dass der Status für alle Knoten "Bereit" angezeigt wird:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.25.6
    aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.25.6
    aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.25.6
    

    Notieren Sie sich den Namen Ihres Knotenpools. In diesem Beispiel wäre dies "nodepool1".

Wählen Sie eine Datenspeicheroption für Ihren Speicherpool aus.

Bevor Sie Azure Container Storage bereitstellen, müssen Sie entscheiden, welche Back-End-Speicheroption Sie zum Erstellen Ihres Speicherpools und Ihrer Volumes verwenden möchten. Derzeit stehen drei Optionen zur Verfügung:

  • Azure Elastic SAN: Azure Elastic SAN eignet sich gut für allgemeine Datenbanken, Streaming- und Messagingdienste, CI/CD-Umgebungen und andere Workloads der Ebene 1/Ebene 2. Der Speicher wird bei Bedarf pro erstelltem Volume und erstellter Volumemomentaufnahme bereitgestellt. Mehrere Cluster können gleichzeitig auf ein einzelnes SAN zugreifen, persistente Volumes können jedoch nur jeweils von einem Verbraucher angefügt werden.

  • Azure Disks: Azure Disks eignen sich gut für Datenbanken wie MySQL, MongoDB und PostgreSQL. Der Speicher wird pro Größe des Zielcontainerspeicherpools und der maximalen Volumegröße bereitgestellt.

  • Ephemeral Disk: Diese Option verwendet lokale NVMe-Laufwerke oder temporäre SSD auf den AKS-Clusterknoten. Es verfügt über eine Latenz von Unter-ms, daher eignet es sich am besten für Anwendungen, die keine Datenbeständigkeit erfordern oder die Datenreplikation enthalten, z. B. Cassandra. AKS ermittelt den verfügbaren kurzlebigen Speicher auf AKS-Knoten und ruft die Laufwerke für die Volumebereitstellung ab.

Hinweis

Für Azure Elastic SAN und Azure Disks stellt Azure Container Storage den Sicherungsspeicher für Sie als Teil der Installation bereit. Sie müssen kein eigenes Elastic SAN oder Azure Disk erstellen. Um Elastic SAN zu verwenden, benötigen Sie entweder eine Rolle des Azure-Containerspeicherbesitzers oder eine Azure Container Storage-Mitwirkenderrolle im Azure-Abonnement.

Ressourcenverbrauch

Azure Container Storage erfordert bestimmte Knotenressourcen, um Komponenten für den Dienst auszuführen. Basierend auf ihrer Auswahl des Speicherpooltyps, die Sie beim Installieren von Azure Container Storage angeben, sind dies die Ressourcen, die verbraucht werden:

Speicherpooltyp CPU-Kerne RAM
Azure Elastic SAN  Nichts Nichts
Azure-Datenträger 1 1 GiB
Flüchtiger Datenträger - Temp SSD 1 1 GiB
Ephemeral Disk - Local NVMe (Standardebene) 25 % der Prozessorkerne (Leistungsebene kann aktualisiert werden)* 1 GiB

Die verbrauchten Ressourcen sind pro Knoten und gelten für jeden Knoten im Knotenpool, in dem Azure Container Storage installiert ist. Wenn Ihre Knoten nicht über genügend Ressourcen verfügen, kann Azure Container Storage nicht ausgeführt werden. Kubernetes versucht automatisch, diese Pods neu zu starten, sodass sie erneut initialisiert werden, sobald Ressourcen verfügbar sind.

*Beim Speicherpooltyp „Kurzlebiger Datenträger – Lokaler NVMe-Datenträger“ mit der Leistungsstufe „Standard“ (Standardeinstellung) gelten die 25 % verbrauchter CPU-Kerne für die kleinste verwendete SKU, wenn Sie mehrere VM-SKU-Typen für Ihre Clusterknoten verwenden. Wenn Sie beispielsweise eine Mischung aus 8-Kern- und 16-Kern-VM-Typen verwenden, beträgt der Ressourcenverbrauch 2 Kerne. Sie können die Leistungsebene aktualisieren , um einen größeren Prozentsatz der Kerne zu verwenden und höhere IOPS zu erzielen.

Stellen Sie sicher, dass der VM-Typ für Ihren Cluster die folgenden Kriterien erfüllt.

Um Azure Container Storage zu verwenden, benötigen Sie einen Knotenpool von mindestens drei Linux-VMs. Jeder virtuelle Computer sollte mindestens vier virtuelle CPUs (vCPUs) aufweisen. Azure Container Storage nutzt einen Kern für die E/A-Verarbeitung auf jeder VM, auf der die Erweiterung bereitgestellt wird.

Befolgen Sie diese Richtlinien, wenn Sie einen VM-Typ für die Clusterknoten auswählen. Sie müssen einen VM-Typ auswählen, der Azure Premium Storage unterstützt.

  • Wenn Sie beabsichtigen, Azure Elastic SAN oder Azure Disks als Sicherungsspeicher zu verwenden, wählen Sie einen allgemeinen VM-Typ wie standard_d4s_v5 aus.
  • Wenn Sie beabsichtigen, ephemerale Datenträger mit lokalem NVMe zu verwenden, wählen Sie eine VM-SKU aus, die lokale NVMe-Datenträger unterstützt, z. B. speicheroptimierte VM-SKUs oder GPU-beschleunigte VM-SKUs.
  • Wenn Sie beabsichtigen, ephemeral Disk mit temp SSD zu verwenden, wählen Sie einen virtuellen Computer mit einem temporären SSD-Datenträger wie Ev3 und Esv3-Serie aus.

Installieren von Azure Container Storage auf Ihrem AKS-Cluster

Der Installationsbefehl unterscheidet sich je nachdem, ob Sie bereits über eine Vorschauinstanz von Azure Container Storage verfügen, die auf Ihrem AKS-Cluster ausgeführt wird, oder ob Sie Azure Container Storage zum ersten Mal auf dem Cluster installieren.

Aktualisieren einer Vorschauinstallation auf allgemeine Verfügbarkeit

Wenn Sie bereits über eine Vorschauinstanz von Azure Container Storage verfügen, die auf Ihrem Cluster ausgeführt wird, empfehlen wir, die neueste allgemein verfügbare (GA)-Version zu aktualisieren, indem Sie den folgenden Befehl ausführen. Wenn Sie Azure Container Storage zum ersten Mal auf dem Cluster installieren, fahren Sie stattdessen mit der Installation von Azure Container Storage fort, und erstellen Sie einen Speicherpool. Sie können azure Container Storage auch in bestimmten Knotenpools installieren.

az k8s-extension update --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name azurecontainerstorage --version 1.1.0 --auto-upgrade false --release-train stable

Denken Sie daran, <cluster-name> und <resource-group> durch Ihre eigenen Werte zu ersetzen.

Installieren von Azure Container Storage und Erstellen eines Speicherpools

Stellen Sie vor der Installation sicher, dass Ihr AKS-Cluster die VM-Anforderungen erfüllt.

Führen Sie den folgenden Befehl aus, um Azure Container Storage auf dem Cluster zu installieren und einen Speicherpool zu erstellen. Ersetzen Sie <cluster-name> und <resource-group> durch Ihre eigenen Werte. Ersetzen Sie <storage-pool-type> durch azureDisk, ephemeralDisk oder elasticSan. Wenn Sie auswählen ephemeralDisk, können Sie auch angeben --storage-pool-option, und die Werte können NVMe sein oder Temp.

Wenn Sie diesen Befehl ausführen, wird Azure Container Storage im Systemknotenpool aktiviert, der standardmäßig "*" heißt nodepool1. Wenn Sie es in anderen Knotenpools aktivieren möchten, lesen Sie Installieren von Azure Container Storage auf bestimmten Knotenpools. Wenn Sie weitere Parameter angeben möchten, lesen Sie die Parameter des Azure Container Storage-Speicherpools.

*Wenn es bestehende Knotenpools mit dem acstor.azure.com/io-engine:acstor Label gibt, wird Azure Container Storage dort standardmäßig installiert. Andernfalls wird sie im Systemknotenpool installiert.

Von Bedeutung

Wenn Sie Ihren AKS-Cluster mithilfe des Azure-Portals erstellt haben: Der Cluster verfügt wahrscheinlich über einen Benutzerknotenpool und einen System-/Agent-Knotenpool. Wenn Ihr Cluster jedoch nur aus einem Systemknotenpool besteht, in dem Test-/Entwicklungscluster mit dem Azure-Portal erstellt wurden, fügen Sie zuerst einen neuen Benutzerknotenpool hinzu und bezeichnen ihn dann. Dieses Verhalten tritt auf, da beim Erstellen eines AKS-Clusters mithilfe des Azure-Portals ein Taint CriticalAddOnsOnly zum System-/Agent-Knotenpool hinzugefügt wird, der die Installation von Azure Container Storage im Systemknotenpool blockiert. Dieser Taint wird nicht hinzugefügt, wenn ein AKS-Cluster mithilfe von Azure CLI erstellt wird.

Wenn Sie einen Multizonen-AKS-Cluster mit Azure Elastic SAN verwenden: Sie müssen einen zonenredundanten Speicher (ZRS) Elastic SAN verwenden. Der Standardwert für einen Elastic SAN-Speicherpool ist lokal redundanter Speicher (LRS). Um ZRS für Elastic SAN zu aktivieren, verwenden Sie elasticSan für den Speicherpooltyp und fügen Sie das --storage-pool-sku Premium_ZRS-Flag dem folgenden CLI-Befehl hinzu.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1

Die Bereitstellung dauert 10-15 Minuten. Nach Abschluss des Vorgangs ist ein AKS-Cluster mit Azure Container Storage installiert, die Komponenten für den ausgewählten Speicherpooltyp aktiviert und ein Standardspeicherpool. Wenn Sie weitere Speicherpooltypen zum Erstellen weiterer Speicherpools aktivieren möchten, lesen Sie "Aktivieren weiterer Speicherpooltypen".

Von Bedeutung

Wenn Sie Azure Elastic SAN als Sicherungsspeicher für Ihren Speicherpool angegeben haben und keine Azure Container Storage Owner-Rolle oder Azure Container Storage-Mitwirkenderrolle dem Azure-Abonnement zugewiesen haben, schlägt die Azure Container Storage-Installation fehl, und ein Speicherpool wird nicht erstellt. Wenn Sie versuchen, Azure Elastic SAN als einen anderen Speicherpooltyp ohne eine dieser Rollen zu aktivieren, bleiben Ihre vorherigen Installations- und Speicherpools nicht betroffen, und ein Elastic SAN-Speicherpool wird nicht erstellt.

Installieren von Azure Container Storage in bestimmten Knotenpools

Wenn Sie Azure Container Storage in bestimmten Knotenpools installieren möchten, befolgen Sie diese Anweisungen. Die Knotenpools müssen mindestens drei Linux-VMs enthalten.

  1. Führen Sie den folgenden Befehl aus, um die Liste der verfügbaren Knotenpools anzuzeigen. Ersetzen Sie <resource-group> und <cluster-name> durch Ihre eigenen Werte.

    az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
    
  2. Führen Sie den folgenden Befehl aus, um Azure Container Storage in bestimmten Knotenpools zu installieren. Ersetzen Sie <cluster-name> und <resource-group> durch Ihre eigenen Werte. Ersetzen Sie <storage-pool-type> durch azureDisk, ephemeralDisk oder elasticSan. Wenn Sie ephemeralDisk auswählen, können Sie auch die Option "--storage-pool-option" angeben, und die Werte können NVMe oder Temp sein.

    az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --azure-container-storage-nodepools <comma separated values of nodepool names>
    

Aktivieren weiterer Speicherpooltypen

Wenn Sie einen Speicherpooltyp aktivieren möchten, der während der Installation von Azure Container Storage ursprünglich nicht aktiviert wurde, führen Sie den folgenden Befehl aus. Ersetzen Sie <cluster-name> und <resource-group> durch Ihre eigenen Werte. Geben Sie für <storage-pool-type> entweder azureDisk, ephemeralDisk oder elasticSan an.

Wenn Sie mit diesem Befehl weitere Speicherpoolparameter angeben möchten, lesen Sie diese Tabelle.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1

Wenn der neue Speicherpooltyp, den Sie aktivieren, mehr Ressourcen beansprucht als der bereits aktivierte Speicherpooltyp, ändert sich der Ressourcenverbrauch in den maximalen Betrag.

Tipp

Wenn Sie Ihrem Cluster einen neuen Knotenpool hinzufügen, um Azure Container Storage auf diesem Knotenpool auszuführen, können Sie den Knotenpool angeben, wenn der --azure-container-storage-nodepools <nodepool-name> Befehl mit az aks update ausgeführt wird.

Anzeigen verfügbarer Speicherpools

Führen Sie den folgenden Befehl aus, um die Liste der verfügbaren Speicherpools abzurufen:

kubectl get sp -n acstor

Führen Sie den folgenden Befehl aus, um den Status eines Speicherpools zu überprüfen:

kubectl describe sp <storage-pool-name> -n acstor

Wenn Message nicht StoragePool is ready lautet, wird der Speicherpool noch erstellt, oder es ist ein Problem aufgetreten. Siehe Problembehandlung bei Azure Container Storage.

Deaktivieren von Speicherpooltypen

Wenn Sie keinen bestimmten Speicherpooltyp mehr verwenden und ihn deaktivieren möchten, um Ressourcen in Ihrem Knotenpool freizugeben, führen Sie den folgenden Befehl aus. Ersetzen Sie <cluster-name> und <resource-group> durch Ihre eigenen Werte. Geben Sie für <storage-pool-type> entweder azureDisk, ephemeralDisk oder elasticSan an.

az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>

Hinweis

Wenn Sie über einen vorhandenen Speicherpool des Typs verfügen, den Sie deaktivieren möchten, wird der Speicherpooltyp nicht deaktiviert.

Nächster Schritt

Um Volumes zu erstellen, wählen Sie den Link für den ausgewählten Sicherungsspeichertyp aus.