Freigeben über


Tutorial: Installieren von Azure Container Storage zur Verwendung mit Azure Kubernetes Service

Azure Container Storage ist ein cloudbasierter Dienst zum Verwalten, Bereitstellen und Orchestrieren von Volumes, der nativ für Container entwickelt wurde. Verwenden Sie dieses Lernprogramm, um die neueste Produktionsversion von Azure Container Storage auf einem Azure Kubernetes Service (AKS) -Cluster zu installieren, unabhängig davon, ob Sie einen neuen Cluster erstellen oder den Dienst für eine vorhandene Bereitstellung aktivieren.

Wenn Sie die Open-Source-Version von Azure Container Storage bevorzugen, besuchen Sie das lokale csi-Treiber-Repository , um alternative Installationsanweisungen zu erhalten.

Am Ende dieses Lernprogramms werden Sie:

  • Vorbereiten Ihrer Azure CLI-Umgebung
  • Erstellen oder Auswählen einer Ressourcengruppe für Ihren Cluster
  • Vergewissern Sie sich, dass die Typen virtueller Computer des Knotenpools den Installationskriterien entsprechen.
  • Installieren von Azure Container Storage durch Erstellen eines neuen AKS-Clusters oder Aktivieren eines vorhandenen Clusters

Wichtig

Dieser Artikel bezieht sich auf Azure Container Storage (Version 2.x.x). Informationen zu früheren Versionen finden Sie in der Dokumentation zu Azure Container Storage (Version 1.x.x). Wenn Sie azure Container Storage (Version 1.x.x) bereits auf Ihrem AKS-Cluster installiert haben, entfernen Sie ihn, indem Sie die folgenden Schritte ausführen.

Voraussetzungen

  • Erstellen Sie ein Azure-Abonnement, wenn Sie noch kein Abonnement haben, indem Sie sich für ein kostenloses Konto registrieren.

  • Vergewissern Sie sich, dass Ihre Zielregion unterstützt wird, indem Sie die regionale Verfügbarkeit von Azure Container Storage überprüfen.

  • Planen Sie die Konfiguration des Knotenpools.

    • Verwenden Sie Linux als Betriebssystemtyp (Windows wird nicht unterstützt).
    • Wählen Sie eine VM-SKU aus, die lokale NVMe-Datenträger unterstützt, z. B. speicheroptimierte oder GPU-beschleunigte VMs.
    • Stellen Sie für vorhandene Cluster sicher, dass Knotenpools bereits eine unterstützte VM-SKU verwenden, bevor Sie Azure Container Storage aktivieren.
  • Installieren Sie die neueste Version der Azure CLI (2.77.0 oder höher), und melden Sie sich dann mit az loginan. Vermeiden Sie die Verwendung von Azure Cloud Shell (da az upgrade nicht verfügbar ist), und deaktivieren Sie widersprüchliche Erweiterungen, z aks-preview . B. wenn Probleme auftreten.

  • Installieren Sie den Kubernetes-Befehlszeilenclient, kubectl. Sie können es lokal installieren, indem Sie es ausführen az aks install-cli.

Installieren der erforderlichen Erweiterung

Fügen Sie die neueste Version von k8s-extension hinzu oder aktualisieren Sie diese, indem Sie den folgenden Befehl ausführen.

az extension add --upgrade --name k8s-extension

Festlegen des Abonnementkontexts

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

az account set --subscription <subscription-id>

Erstellen einer Ressourcengruppe

Eine Azure-Ressourcengruppe ist eine logische Gruppe, die die Azure-Ressourcen enthält, die Sie als Gruppe verwalten möchten. Wenn Sie eine Ressourcengruppe erstellen, werden Sie zur Angabe eines Speicherorts aufgefordert. Bei diesem Speicherort handelt es sich um Folgendes:

  • Speicherort der Metadaten der Ressourcengruppe
  • Wo Ihre Ressourcen in Azure ausgeführt werden, wenn Sie während der Ressourcenerstellung keine andere Region angeben.

Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe. Ersetzen Sie <resource-group-name> durch den Namen der Ressourcengruppe, die Sie erstellen möchten, und ersetzen Sie <location> durch eine Azure-Region, etwa eastus, westus2, westus3 oder westeurope. Wenn Sie Azure Container Storage auf einem vorhandenen AKS-Cluster aktivieren, verwenden Sie die Ressourcengruppe, die bereits den Cluster hosten soll.

az group create --name <resource-group-name> --location <location>

Wenn die Ressourcengruppe erfolgreich erstellt wurde, wird eine Ausgabe ähnlich diesem Beispiel angezeigt:

{
  "id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
  "location": "eastus",
  "managedBy": null,
  "name": "myContainerStorageRG",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Installieren von Azure Container Storage auf einem AKS-Cluster

Wählen Sie das Szenario aus, das Ihrer Umgebung entspricht.

Wichtig

Azure Container Storage installiert automatisch die neueste verfügbare Version und Updates. Manuelle Versionsauswahl wird nicht unterstützt.

Option 1: Erstellen eines neuen AKS-Clusters mit aktiviertem Azure Container Storage

Führen Sie den folgenden Befehl aus, um einen neuen AKS-Cluster zu erstellen und Azure Container Storage zu installieren. Ersetzen Sie <cluster-name> und <resource-group> durch ihre eigenen Werte und geben Sie an, welchen VM-Typ Sie verwenden möchten.

az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_L8s_v3 --enable-azure-container-storage --generate-ssh-keys

Die Bereitstellung dauert 5 bis 10 Minuten. Nach Abschluss des Vorgangs ist ein AKS-Cluster mit Azure Container Storage installiert und die Komponenten für den lokalen NVMe-Speichertyp bereitgestellt.

Option 2: Aktivieren von Azure Container Storage auf einem vorhandenen AKS-Cluster

Führen Sie den folgenden Befehl aus, um Azure Container Storage auf einem vorhandenen AKS-Cluster zu aktivieren. Ersetzen Sie <cluster-name> und <resource-group> durch Ihre eigenen Werte.

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

Die Bereitstellung dauert 5 bis 10 Minuten. Nach Abschluss des Vorgangs ist auf dem Ziel-AKS-Cluster Azure Container Storage installiert, und die Komponenten für den lokalen NVMe-Speichertyp sind bereitgestellt.

  • Vorbereiten von Terraform und Authentifizierung bei Azure
  • Definieren der Ressourcengruppe und der AKS-Clusterkonfiguration
  • Vergewissern Sie sich, dass die Typen virtueller Computer des Knotenpools den Installationskriterien entsprechen.
  • Anwenden von Terraform zum Bereitstellen von Azure Container Storage oder Aktivieren auf einem vorhandenen Cluster

Wichtig

Dieser Artikel bezieht sich auf Azure Container Storage (Version 2.x.x). Informationen zu früheren Versionen finden Sie in der Dokumentation zu Azure Container Storage (Version 1.x.x). Wenn Sie azure Container Storage (Version 1.x.x) bereits auf Ihrem AKS-Cluster installiert haben, entfernen Sie ihn, indem Sie die folgenden Schritte ausführen.

Voraussetzungen

  • Erstellen Sie ein Azure-Abonnement, wenn Sie noch kein Abonnement haben, indem Sie sich für ein kostenloses Konto registrieren.

  • Stellen Sie sicher, dass Ihre Zielregion unterstützt wird, indem Sie die regionale Verfügbarkeit von Azure Container Storage überprüfen.

  • Planen Sie die Konfiguration des Knotenpools.

    • Verwenden Sie Linux als Betriebssystemtyp (Windows wird nicht unterstützt).
    • Wählen Sie eine VM-SKU aus, die lokale NVMe-Datenträger unterstützt, z. B. speicheroptimierte oder GPU-beschleunigte VMs.
    • Stellen Sie für vorhandene Cluster sicher, dass Knotenpools bereits eine unterstützte VM-SKU verwenden, bevor Sie Azure Container Storage aktivieren.
  • Installieren Sie die Azure CLI-Version 2.77.0 oder höher, und melden Sie sich dann mit az loginan.

  • Installieren Sie Terraform Version 1.5 oder höher, und bestätigen Sie die Installation mit terraform version. Terraform kann Ihre Azure CLI-Authentifizierung wiederverwenden.

  • Installieren Sie kubectl, damit Sie den Cluster nach der Bereitstellung validieren können. Führen Sie bei Bedarf az aks install-cli aus, um es lokal zu installieren.

Festlegen des Abonnementkontexts

Terraform kann ein Azure-Zielabonnement über verschiedene Mittel bestimmen:

  • subscription_id im Anbieterblock
  • Umgebungsvariable ARM_SUBSCRIPTION_ID
  • Azure CLI-Standardabonnement
  • Verwaltete Identität (bei Ausführung in Azure)

Legen Sie für die lokale Verwendung den Azure CLI-Kontext fest:

az account set --subscription <subscription-id>

Installieren von Azure Container Storage auf einem AKS-Cluster

Wählen Sie das Szenario aus, das Ihrer Umgebung entspricht.

Wichtig

Azure Container Storage installiert automatisch die neueste verfügbare Version und Updates. Manuelle Versionsauswahl wird nicht unterstützt.

Option 1: Erstellen eines neuen AKS-Clusters mit aktiviertem Azure Container Storage

  1. Erstellen Sie in einem leeren Arbeitsverzeichnis eine main.tf Datei mit der folgenden minimalen Konfiguration eines AKS-Clusters. Aktualisieren Sie die Ressourcennamen, Speicherorte und VM-Größen, um Ihre Anforderungen zu erfüllen.

    terraform {
      required_version = ">= 1.5.0"
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~> 4.x"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
    resource "azurerm_resource_group" "rg" {
      name     = "demo-aks-rg"
      location = "eastus"
    }
    
    resource "azurerm_kubernetes_cluster" "aks" {
      name                = "demo-aks-cluster"
      dns_prefix          = "demo-aks"
      location            = azurerm_resource_group.rg.location
      resource_group_name = azurerm_resource_group.rg.name
    
      default_node_pool {
        name       = "systempool"
        vm_size    = "Standard_L8s_v3"
        node_count = 3
      }
    
      identity {
        type = "SystemAssigned"
      }
    }
    
    resource "azurerm_kubernetes_cluster_extension" "container_storage" {
      name           = "microsoft-azurecontainerstorage"
      cluster_id     = azurerm_kubernetes_cluster.aks.id
      extension_type = "microsoft.azurecontainerstoragev2"
    
      configuration_settings = {
        enable-azure-container-storage = "true"
      }
    }
    
  2. Initialisieren Sie das Arbeitsverzeichnis, um den AzureRM-Anbieter herunterzuladen.

    terraform init
    
  3. Überprüfen Sie die geplanten Änderungen.

    terraform plan
    
  4. Wenden Sie die Konfiguration an, um die Ressourcengruppe, den AKS-Cluster und die Azure Container Storage-Erweiterung zu erstellen. Die Bereitstellung dauert in der Regel 5 bis 10 Minuten.

    terraform apply
    

Option 2: Aktivieren von Azure Container Storage auf einem vorhandenen AKS-Cluster

Wenn Ihr AKS-Cluster bereits vorhanden ist und Sie ihn außerhalb von Terraform verwalten, können Sie den Azure Container Storage trotzdem aktivieren, indem Sie nur die Erweiterungsressource erstellen. Verwenden Sie eine Datenquelle, um die Cluster-ID nachzuschlagen.

terraform {
  required_version = ">= 1.5.0"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 4.x"
    }
  }
}

provider "azurerm" {
  features {}
}

data "azurerm_kubernetes_cluster" "existing" {
  name                = "existing-aks"
  resource_group_name = "existing-aks-rg"
}

resource "azurerm_kubernetes_cluster_extension" "container_storage" {
  name           = "microsoft-azurecontainerstorage"
  cluster_id     = data.azurerm_kubernetes_cluster.existing.id
  extension_type = "microsoft.azurecontainerstoragev2"

  configuration_settings = {
    enable-azure-container-storage = "true"
  }
}

Führen Sie terraform init (wenn dies ein neues Arbeitsverzeichnis ist) aus, gefolgt von terraform apply, um Azure Container Storage auf dem Zielcluster zu installieren.

Herstellen einer Verbindung mit dem Cluster und Überprüfen des Status

Nach der Installation konfigurieren Sie kubectl, um die Verbindung mit Ihrem Cluster herzustellen und überprüfen Sie, ob die Knoten bereit sind.

  1. Laden Sie die Clusteranmeldeinformationen herunter, und konfigurieren Sie die Kubernetes CLI, um sie zu verwenden. Standardmäßig werden Anmeldeinformationen in ~/.kube/config gespeichert. Geben Sie bei Bedarf einen anderen Pfad mithilfe des --file Arguments an.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Überprüfen Sie die Verbindung, indem Sie die Clusterknoten auflisten.

    kubectl get nodes
    
  3. Stellen Sie sicher, dass alle Knoten einen Status Ready aufweisen, ähnlich wie die folgende Ausgabe:

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

Nächste Schritte