Delen via


Zelfstudie: Azure Container Storage installeren voor gebruik met Azure Kubernetes Service

Azure Container Storage is een cloudgebaseerde volumebeheer-, implementatie- en indelingsservice die systeemeigen is gebouwd voor containers. Gebruik deze zelfstudie om de nieuwste productieversie van Azure Container Storage te installeren op een AKS-cluster (Azure Kubernetes Service), ongeacht of u een nieuw cluster maakt of de service inschakelt voor een bestaande implementatie.

Als u de voorkeur geeft aan de opensource-versie van Azure Container Storage, gaat u naar de opslagplaats met lokale csi-stuurprogramma's voor alternatieve installatie-instructies.

Aan het einde van deze zelfstudie gaat u het volgende doen:

  • Uw Azure CLI-omgeving voorbereiden
  • Een resourcegroep voor uw cluster maken of selecteren
  • Controleer of de typen virtuele machines van de knooppuntgroep voldoen aan de installatiecriteria
  • Azure Container Storage installeren door een nieuw AKS-cluster te maken of in te schakelen op een bestaand cluster

Belangrijk

Dit artikel is van toepassing op Azure Container Storage (versie 2.x.x). Zie de documentatie voor Azure Container Storage (versie 1.x.x) voor eerdere versies. Als u Azure Container Storage (versie 1.x.x) al hebt geïnstalleerd op uw AKS-cluster, verwijdert u deze door deze stappen uit te voeren.

Vereiste voorwaarden

  • Maak een Azure-abonnement als u er nog geen hebt door u aan te melden voor een gratis account.

  • Controleer of uw doelregio wordt ondersteund door de regionale beschikbaarheid van Azure Container Storage te controleren.

  • De configuratie van de knooppuntgroep plannen:

    • Gebruik Linux als het type besturingssysteem (Windows wordt niet ondersteund).
    • Selecteer een VM-SKU die ondersteuning biedt voor lokale NVMe-gegevensschijven, zoals voor opslag geoptimaliseerde of GPU-versnelde VM's.
    • Zorg ervoor dat voor bestaande clusters al een ondersteunde VM-SKU wordt gebruikt voordat u Azure Container Storage inschakelt.
  • Installeer de nieuwste versie van de Azure CLI (2.77.0 of hoger) en meld u aan met az login. Vermijd het gebruik van Azure Cloud Shell (omdat az upgrade deze niet beschikbaar is) en schakel conflicterende extensies uit, zoals aks-preview als er problemen optreden.

  • Installeer de Kubernetes-opdrachtregelclient. kubectl U kunt deze lokaal installeren door deze uit te voeren az aks install-cli.

De vereiste extensie installeren

Voeg de nieuwste versie van k8s-extension toe of upgrade ernaar door het uitvoeren van de volgende opdracht.

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

Abonnementscontext instellen

Stel de context van uw Azure-abonnement in met behulp van de az account set opdracht. U kunt de abonnements-id's weergeven voor alle abonnementen waartoe u toegang hebt door de az account list --output table opdracht uit te voeren. Vergeet niet om deze te vervangen door <subscription-id> uw abonnements-id.

az account set --subscription <subscription-id>

Een brongroep maken

Een Azure-resourcegroep is een logische groep die uw Azure-resources bevat die u als groep wilt beheren. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven. Deze locatie is:

  • De opslaglocatie van de metagegevens van de resourcegroep.
  • Waar uw resources worden uitgevoerd in Azure als u geen andere regio opgeeft tijdens het maken van resources.

Maak een resourcegroep met behulp van de az group create opdracht. Vervang <resource-group-name> door de naam van de resourcegroep die u wilt maken en vervang deze door <location> een Azure-regio, zoals eastus, westus2, westus3 of westeurope. Als u Azure Container Storage inschakelt op een bestaand AKS-cluster, gebruikt u de resourcegroep die al als host fungeert voor het cluster.

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

Als de resourcegroep succesvol is aangemaakt, ziet u uitvoer die vergelijkbaar is met dit voorbeeld:

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

Azure Container Storage installeren op een AKS-cluster

Kies het scenario dat overeenkomt met uw omgeving.

Belangrijk

Azure Container Storage installeert automatisch de meest recente beschikbare versie en werkt automatisch bij. Handmatige versieselectie wordt niet ondersteund.

Optie 1: Een nieuw AKS-cluster maken waarvoor Azure Container Storage is ingeschakeld

Voer de volgende opdracht uit om een nieuw AKS-cluster te maken en Azure Container Storage te installeren. Vervang `<cluster-name>` en `<resource-group>` door uw eigen waarden en geef op welk type VM u wilt gebruiken.

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

De implementatie duurt 5-10 minuten. Wanneer dit is voltooid, hebt u een AKS-cluster waarop Azure Container Storage is geïnstalleerd en de onderdelen voor het lokale NVMe-opslagtype geïmplementeerd.

Optie 2: Azure Container Storage inschakelen op een bestaand AKS-cluster

Voer de volgende opdracht uit om Azure Container Storage in te schakelen op een bestaand AKS-cluster. Vervang <cluster-name> en <resource-group> door uw eigen waarden.

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

De implementatie duurt 5-10 minuten. Wanneer dit is voltooid, is Azure Container Storage op het doelcluster geïnstalleerd en zijn de onderdelen voor het lokale NVMe-opslagtype geïmplementeerd.

  • Terraform voorbereiden en verifiëren bij Azure
  • De configuratie van uw resourcegroep en AKS-cluster definiëren
  • Controleer of de typen virtuele machines van de knooppuntgroep voldoen aan de installatiecriteria
  • Terraform toepassen om Azure Container Storage te implementeren of in te schakelen op een bestaand cluster

Belangrijk

Dit artikel is van toepassing op Azure Container Storage (versie 2.x.x). Zie de documentatie voor Azure Container Storage (versie 1.x.x) voor eerdere versies. Als u Azure Container Storage (versie 1.x.x) al hebt geïnstalleerd op uw AKS-cluster, verwijdert u deze door deze stappen uit te voeren.

Vereiste voorwaarden

  • Maak een Azure-abonnement als u er nog geen hebt door u aan te melden voor een gratis account.

  • Controleer of uw doelregio wordt ondersteund door de regionale beschikbaarheid van Azure Container Storage te controleren.

  • De configuratie van de knooppuntgroep plannen:

    • Gebruik Linux als het type besturingssysteem (Windows wordt niet ondersteund).
    • Selecteer een VM-SKU die ondersteuning biedt voor lokale NVMe-gegevensschijven, zoals voor opslag geoptimaliseerde of GPU-versnelde VM's.
    • Zorg ervoor dat voor bestaande clusters al een ondersteunde VM-SKU wordt gebruikt voordat u Azure Container Storage inschakelt.
  • Installeer azure CLI versie 2.77.0 of hoger en meld u aan met az login.

  • Installeer Terraform versie 1.5 of hoger en bevestig de installatie met terraform version. Terraform kan uw Azure CLI-verificatie opnieuw gebruiken.

  • Installeer kubectl zodat u het cluster kunt valideren na de implementatie. Voer indien nodig de opdracht uit az aks install-cli om deze lokaal te installeren.

Abonnementscontext instellen

Terraform kan een Azure-doelabonnement op verschillende manieren bepalen:

  • subscription_id in het provider-blok
  • ARM_SUBSCRIPTION_ID omgevingsvariabele
  • Azure CLI-standaardabonnement
  • Beheerde identiteit (bij uitvoering in Azure)

Stel voor lokaal gebruik de Azure CLI-context in:

az account set --subscription <subscription-id>

Azure Container Storage installeren op een AKS-cluster

Kies het scenario dat overeenkomt met uw omgeving.

Belangrijk

Azure Container Storage installeert automatisch de meest recente beschikbare versie en werkt automatisch bij. Handmatige versieselectie wordt niet ondersteund.

Optie 1: Een nieuw AKS-cluster maken waarvoor Azure Container Storage is ingeschakeld

  1. Maak in een lege werkmap een main.tf bestand met de volgende minimale configuratie van een AKS-cluster. Werk de resourcenamen, locaties en VM-grootten bij om te voldoen aan uw vereisten.

    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" {
      # NOTE: the `name` parameter must be "acstor" for Azure CLI compatibility
      name           = "acstor"
      cluster_id     = azurerm_kubernetes_cluster.aks.id
      extension_type = "microsoft.azurecontainerstoragev2"
    
      configuration_settings = {
        enable-azure-container-storage = "true"
      }
    }
    
  2. Initialiseer de werkdirectory om de AzureRM-provider te downloaden.

    terraform init
    
  3. Bekijk de geplande wijzigingen.

    terraform plan
    
  4. Pas de configuratie toe om de resourcegroep, het AKS-cluster en de Azure Container Storage-extensie te maken. De implementatie duurt doorgaans 5-10 minuten.

    terraform apply
    

Optie 2: Azure Container Storage inschakelen op een bestaand AKS-cluster

Als uw AKS-cluster al bestaat en u het buiten Terraform beheert, kunt u Azure Container Storage nog steeds inschakelen door alleen de extensieresource te ontwerpen. Gebruik een gegevensbron om de cluster-id op te zoeken.

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" {
  # NOTE: the `name` parameter must be "acstor" for Azure CLI compatibility
  name           = "acstor"
  cluster_id     = data.azurerm_kubernetes_cluster.existing.id
  extension_type = "microsoft.azurecontainerstoragev2"

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

Voer terraform init (als dit een nieuwe werkmap is) uit, gevolgd door terraform apply het installeren van Azure Container Storage op het doelcluster.

Verbinding maken met het cluster en de status controleren

Na de installatie configureert u kubectl om verbinding te maken met uw cluster en controleert u of de knooppunten gereed zijn.

  1. Download de clusterreferenties en configureer de Kubernetes CLI om deze te gebruiken. Referenties worden standaard opgeslagen in ~/.kube/config. Geef indien nodig een ander pad op met behulp van het --file argument.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Controleer de verbinding door de clusterknooppunten te vermelden.

    kubectl get nodes
    
  3. Zorg ervoor dat alle knooppunten een status rapporteren van Ready, vergelijkbaar met de volgende uitvoer:

    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
    

Volgende stappen