Partager via


Didacticiel : installer Stockage de conteneurs Azure pour une utilisation avec Azure Kubernetes Service

Stockage de conteneurs Azure est un service cloud de gestion, de déploiement et d’orchestration de volumes conçu de manière native pour les conteneurs. Utilisez ce tutoriel pour installer la dernière version de production d’Azure Container Storage sur un cluster Azure Kubernetes Service (AKS), que vous créiez un cluster ou que vous activiez le service sur un déploiement existant.

Si vous préférez la version open source d’Azure Container Storage, visitez le référentiel local-csi-driver pour obtenir d’autres instructions d’installation.

À la fin de ce tutoriel, vous allez :

  • Préparer votre environnement Azure CLI
  • Créer ou sélectionner un groupe de ressources pour votre cluster
  • Vérifiez que les types de machines virtuelles de votre pool de nœuds répondent aux critères d’installation
  • Installer Azure Container Storage en créant un cluster AKS ou en l’activant sur un cluster existant

Important

Cet article s’applique au stockage conteneur Azure (version 2.x.x). Pour les versions antérieures, consultez la documentation stockage de conteneurs Azure (version 1.x.x). Si azure Container Storage (version 1.x.x) est déjà installé sur votre cluster AKS, supprimez-le en suivant ces étapes.

Prérequis

  • Créez un abonnement Azure si vous n’en avez pas déjà un en vous inscrivant à un compte gratuit.

  • Vérifiez que votre région cible est prise en charge en examinant la disponibilité régionale du stockage de conteneurs Azure.

  • Planifiez la configuration de votre pool de nœuds :

    • Utilisez Linux comme type de système d’exploitation (Windows n’est pas pris en charge).
    • Sélectionnez une référence SKU de machine virtuelle qui prend en charge les disques de données NVMe locaux, tels que les machines virtuelles optimisées pour le stockage ou avec accélération GPU .
    • Pour les clusters existants, vérifiez que les pools de nœuds utilisent déjà une référence SKU de machine virtuelle prise en charge avant d’activer Le stockage de conteneurs Azure.
  • Installez la dernière version d’Azure CLI (2.77.0 ou version ultérieure), puis connectez-vous avec az login. Évitez d’utiliser Azure Cloud Shell (car az upgrade n’est pas disponible) et désactivez les extensions en conflit, comme aks-preview si des problèmes se produisent.

  • Installez le client de ligne de commande Kubernetes. kubectl Vous pouvez l’installer localement en exécutant az aks install-cli.

Installer l’extension requise

Ajoutez ou mettez à niveau vers la dernière version de k8s-extension en exécutant la commande suivante.

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

Définir le contexte de l’abonnement

Définissez le contexte de votre abonnement Azure à l’aide de la commande az account set. Vous pouvez afficher les ID de tous les abonnements auxquels vous avez accès en exécutant la commande az account list --output table. N’oubliez pas de remplacer <subscription-id> par votre ID d’abonnement.

az account set --subscription <subscription-id>

Créer un groupe de ressources

Un groupe de ressources Azure est un groupe logique qui contient les ressources Azure que vous voulez gérer en tant que groupe. Lorsque vous créez un groupe de ressources, vous êtes invité à spécifier un emplacement. Cet emplacement est :

  • L’emplacement de stockage des métadonnées de votre groupe de ressources.
  • Où vos ressources s’exécutent dans Azure si vous ne spécifiez pas une autre région lors de la création des ressources.

Créez un groupe de ressources à l’aide de la commande az group create. Remplacez <resource-group-name> par le nom du groupe de ressources que vous voulez créer et <location> par une région Azure, par exemple eastus, westus2, westus3 ou westeurope. Si vous activez Azure Container Storage sur un cluster AKS existant, utilisez le groupe de ressources qui héberge déjà le cluster.

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

Si le groupe de ressources est créé avec succès, vous voyez une sortie similaire à cet exemple :

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

Installer Azure Container Storage sur un cluster AKS

Choisissez le scénario qui correspond à votre environnement.

Important

Azure Container Storage installe automatiquement la dernière version disponible et se met à jour automatiquement. La sélection manuelle de version n’est pas prise en charge.

Option 1 : Création d’un cluster AKS avec Stockage conteneur Azure activé

Exécutez la commande suivante pour créer un cluster AKS et installer Azure Container Storage. Remplacez <cluster-name> et <resource-group> par vos propres valeurs et spécifiez le type de machine virtuelle que vous souhaitez utiliser.

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

Le déploiement prend 5 à 10 minutes. Une fois l’opération terminée, vous disposez d’un cluster AKS avec Azure Container Storage installé et les composants du type de stockage NVMe local déployé.

Option 2 : Activation d’Azure Container Storage sur un cluster AKS existant

Exécutez la commande suivante pour activer Azure Container Storage sur un cluster AKS existant. Remplacez <cluster-name> et <resource-group> par vos propres valeurs.

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

Le déploiement prend 5 à 10 minutes. Une fois l’opération terminée, le cluster AKS ciblé dispose d’Azure Container Storage installé et des composants du type de stockage NVMe local déployé.

  • Préparer Terraform et s’authentifier auprès d’Azure
  • Définir votre groupe de ressources et la configuration du cluster AKS
  • Vérifiez que les types de machines virtuelles de votre pool de nœuds répondent aux critères d’installation
  • Appliquer Terraform pour déployer Azure Container Storage ou l’activer sur un cluster existant

Important

Cet article s’applique au stockage conteneur Azure (version 2.x.x). Pour les versions antérieures, consultez la documentation stockage de conteneurs Azure (version 1.x.x). Si azure Container Storage (version 1.x.x) est déjà installé sur votre cluster AKS, supprimez-le en suivant ces étapes.

Prérequis

  • Créez un abonnement Azure si vous n’en avez pas déjà un en vous inscrivant à un compte gratuit.

  • Vérifiez que votre région cible est prise en charge en vérifiant la disponibilité régionale du stockage de conteneurs Azure.

  • Planifiez la configuration de votre pool de nœuds :

    • Utilisez Linux comme type de système d’exploitation (Windows n’est pas pris en charge).
    • Sélectionnez une référence SKU de machine virtuelle qui prend en charge les disques de données NVMe locaux, tels que les machines virtuelles optimisées pour le stockage ou avec accélération GPU .
    • Pour les clusters existants, vérifiez que les pools de nœuds utilisent déjà une référence SKU de machine virtuelle prise en charge avant d’activer Le stockage de conteneurs Azure.
  • Installez Azure CLI version 2.77.0 ou ultérieure, puis connectez-vous avec az login.

  • Installez Terraform version 1.5 ou ultérieure et confirmez l’installation avec terraform version. Terraform peut réutiliser votre authentification Azure CLI.

  • Installez kubectl ce qui vous permet de valider le cluster après le déploiement. Si nécessaire, exécutez-le az aks install-cli pour l’installer localement.

Définir le contexte de l’abonnement

Terraform peut déterminer un abonnement Azure cible par différents moyens :

  • subscription_id dans le bloc du fournisseur
  • Variable d’environnement ARM_SUBSCRIPTION_ID
  • Abonnement Azure CLI par défaut
  • Identité managée (lors de l’exécution dans Azure)

Pour une utilisation locale, définissez le contexte Azure CLI :

az account set --subscription <subscription-id>

Installer Azure Container Storage sur un cluster AKS

Choisissez le scénario qui correspond à votre environnement.

Important

Azure Container Storage installe automatiquement la dernière version disponible et se met à jour automatiquement. La sélection manuelle de version n’est pas prise en charge.

Option 1 : Création d’un cluster AKS avec Stockage conteneur Azure activé

  1. Dans un répertoire de travail vide, créez un main.tf fichier avec la configuration minimale suivante d’un cluster AKS. Mettez à jour les noms de ressources, les emplacements et les tailles de machine virtuelle pour répondre à vos besoins.

    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. Initialisez le répertoire de travail pour télécharger le fournisseur AzureRM.

    terraform init
    
  3. Passez en revue les modifications planifiées.

    terraform plan
    
  4. Appliquez la configuration pour créer le groupe de ressources, le cluster AKS et l’extension Stockage conteneur Azure. Le déploiement prend généralement 5 à 10 minutes.

    terraform apply
    

Option 2 : Activation d’Azure Container Storage sur un cluster AKS existant

Si votre cluster AKS existe déjà et que vous le gérez en dehors de Terraform, vous pouvez toujours activer Azure Container Storage en créant uniquement la ressource d’extension. Utilisez une source de données pour rechercher l’ID de cluster.

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"
  }
}

Exécutez terraform init (s’il s’agit d’un nouveau répertoire de travail) suivi de terraform apply l’installation d’Azure Container Storage sur le cluster ciblé.

Se connecter au cluster et vérifier l’état

Après l’installation, configurez kubectl pour vous connecter à votre cluster et vérifiez que les nœuds sont prêts.

  1. Téléchargez les informations d’identification du cluster et configurez l’interface CLI Kubernetes pour les utiliser. Par défaut, les informations d’identification sont stockées dans ~/.kube/config. Fournissez un autre chemin d’accès à l’aide de l’argument --file si nécessaire.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Vérifiez la connexion en répertoriant les nœuds du cluster.

    kubectl get nodes
    
  3. Assurez-vous que tous les nœuds signalent un état Ready, similaire à la sortie suivante :

    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
    

Étapes suivantes