Partager via


Démarrage rapide : Utiliser Azure Container Storage (version 1.x.x) avec Azure Kubernetes Service

Azure Container Storage est un service de gestion, de déploiement et d’orchestration basé sur le cloud conçu en mode natif pour les conteneurs. Ce guide de démarrage rapide vous montre comment vous connecter à un cluster Azure Kubernetes Service (AKS) Linux, installer Azure Container Storage (version 1.x.x) et créer un pool de stockage à l’aide d’Azure CLI.

Important

Cet article explique comment installer Azure Container Storage (version 1.x.x), qui nécessite désormais explicitement un paramètre --container-storage-version 1 d’épinglage de version pour l’installation. Azure Container Storage (version 2.x.x) est désormais disponible.

Prerequisites

  • Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

  • Cet article nécessite la dernière version d’Azure CLI. Découvrez comment installer Azure CLI. Si vous utilisez l’environnement Bash dans Azure Cloud Shell, la dernière version est déjà installée. Si vous envisagez d’exécuter les commandes localement au lieu d’Azure Cloud Shell, veillez à les exécuter avec des privilèges d’administration. Pour obtenir plus d’informations, consultez Démarrage d’Azure Cloud Shell.

  • Vous aurez besoin du client de ligne de commande Kubernetes. kubectl Elle est déjà installée si vous utilisez Azure Cloud Shell ou si vous pouvez l’installer localement en exécutant la az aks install-cli commande.

  • Vérifiez si votre région cible est prise en charge dans les régions stockage de conteneurs Azure.

  • Si vous n’avez pas encore créé de cluster AKS, suivez les instructions pour installer un cluster AKS.

Mise en route

  • Notez votre ID d’abonnement Azure. Si vous souhaitez utiliser Azure Elastic SAN en tant que stockage de données, vous aurez besoin d’un rôle propriétaire du stockage de conteneurs Azure ou d’un rôle Contributeur stockage conteneur Azure affecté à l’abonnement Azure. L’accès au niveau du propriétaire vous permet d’installer l’extension Stockage conteneur Azure, d’accorder l’accès à ses ressources de stockage et de vous accorder l’autorisation de configurer votre ressource SAN élastique Azure. L’accès au niveau contributeur vous permet d’installer l’extension et d’accorder l’accès à ses ressources de stockage. Si vous envisagez d’utiliser des disques Azure ou un disque éphémère en tant que stockage de données, vous n’avez pas besoin d’autorisations spéciales sur votre abonnement.

  • Lancez Azure Cloud Shell, ou si vous utilisez une installation locale, connectez-vous à Azure à l’aide de la commande az login .

  • Si vous utilisez Azure Cloud Shell, vous serez peut-être invité à monter le stockage. Sélectionnez l’abonnement Azure dans lequel vous souhaitez créer le compte de stockage, puis sélectionnez Créer.

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 d’abonnement

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

az account set --subscription <subscription-id>

Se connecter au cluster

Pour vous connecter au cluster, utilisez le client de ligne de commande Kubernetes. kubectl Elle est déjà installée si vous utilisez Azure Cloud Shell ou si vous pouvez l’installer localement en exécutant la az aks install-cli commande.

  1. Configurez kubectl pour qu’il se connecte à votre cluster à l’aide de la commande az aks get-credentials. Commande suivante :

    • Télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.
    • Utilise ~/.kube/configl’emplacement par défaut pour le fichier de configuration Kubernetes. Vous pouvez spécifier un autre emplacement pour votre fichier de configuration Kubernetes à l’aide de l’argument --file .
    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get. Cette commande renvoie la liste des nœuds de cluster.

    kubectl get nodes
    
  3. L’exemple de sortie suivant montre les nœuds de votre cluster. Vérifiez que l’état de tous les nœuds affiche Prêt :

    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
    

    Notez le nom de votre pool de nœuds. Dans cet exemple, il s’agit de nodepool1.

Choisir une option de stockage de données pour votre pool de stockage

Avant de déployer Azure Container Storage, vous devez décider de l’option de stockage back-end que vous souhaitez utiliser pour créer votre pool de stockage et vos volumes. Trois options sont actuellement disponibles :

  • San élastique Azure : Azure Elastic SAN est adapté aux bases de données à usage général, aux services de diffusion en continu et de messagerie, aux environnements CI/CD et aux autres charges de travail de niveau 1/niveau 2. Le stockage est approvisionné à la demande pour chaque volume créé et chaque instantané de volume. Plusieurs clusters peuvent accéder simultanément à un seul san, mais les volumes persistants ne peuvent être attachés qu’à un seul consommateur à la fois.

  • Disques Azure : Les disques Azure sont adaptés aux bases de données telles que MySQL, MongoDB et PostgreSQL. Le stockage est provisionné par taille de pool de stockage de conteneur cible et taille de volume maximale.

  • Disque éphémère : cette option utilise des lecteurs NVMe locaux ou un disque SSD temporaire sur les nœuds du cluster AKS. Il est extrêmement sensible à la latence (latence inférieure à ms), de sorte qu’il est préférable pour les applications sans exigence de durabilité des données ou avec prise en charge de la réplication de données intégrée comme Cassandra. AKS découvre le stockage éphémère disponible sur les nœuds AKS et acquiert les lecteurs pour le déploiement de volumes.

Note

Pour Azure Elastic SAN et Disques Azure, Azure Container Storage déploiera le stockage sous-jacent pour vous lors de l'installation. Vous n’avez pas besoin de créer votre propre san élastique ou disque Azure. Pour utiliser le SAN Élastique, vous aurez besoin d’un rôle propriétaire du stockage conteneur Azure ou d’un rôle contributeur du stockage de conteneurs Azure sur l’abonnement Azure.

Consommation des ressources

Azure Container Storage nécessite que certaines ressources de nœud exécutent des composants pour le service. En fonction de votre sélection de type de pool de stockage, que vous spécifiez lors de l’installation d’Azure Container Storage, il s’agit des ressources qui seront consommées :

Type de pool de stockage Cœurs de processeur RAM
SAN élastique Azure  Aucun Aucun
Disques Azure 1 1 Gio
Disque éphémère - SSD temporaire 1 1 Gio
Disque éphémère - NvMe local (niveau standard) 25 % de cœurs (le niveau de performance peut être mis à jour)* 1 Gio

Les ressources consommées sont par nœud et seront consommées pour chaque nœud du pool de nœuds où Le stockage conteneur Azure sera installé. Si vos nœuds n’ont pas suffisamment de ressources, Le stockage conteneur Azure ne peut pas s’exécuter. Kubernetes tente automatiquement d’initialiser ces pods ayant échoué. Par conséquent, si les ressources sont libérées, ces pods peuvent être initialisés à nouveau.

Dans un type de pool de stockage de disque éphémère - NVMe local avec le niveau de performance standard (par défaut), si vous utilisez plusieurs types de SKU de VM pour vos nœuds de cluster, les 25 % de cœurs de CPU consommés s'appliquent à la plus petite SKU utilisée. Par exemple, si vous utilisez un mélange de types de machines virtuelles 8 cœurs et 16 cœurs, la consommation de ressources est de 2 cœurs. Vous pouvez mettre à jour le niveau de performances pour utiliser un pourcentage plus élevé de cœurs et obtenir des E/S par seconde supérieures.

Vérifiez que le type de machine virtuelle pour votre cluster répond aux critères suivants

Pour utiliser Stockage conteneur Azure, vous aurez besoin d’un pool de nœuds d’au moins trois machines virtuelles Linux. Chaque machine virtuelle doit avoir au moins quatre processeurs virtuels (processeurs virtuels). Le stockage de conteneurs Azure consomme un cœur pour le traitement des E/S sur chaque machine virtuelle où l’extension est déployée.

Suivez ces instructions lors du choix d’un type de machine virtuelle pour les nœuds de cluster. Vous devez choisir un type de machine virtuelle qui prend en charge le stockage Premium Azure.

Installer Azure Container Storage sur votre cluster AKS

La commande d’installation est différente selon que vous disposez déjà d’une instance en préversion d’Azure Container Storage s’exécutant sur votre cluster AKS ou si vous installez Azure Container Storage sur le cluster pour la première fois.

Mettre à niveau une installation en version préliminaire vers la version de disponibilité générale

Si vous disposez déjà d’une instance en préversion d’Azure Container Storage s’exécutant sur votre cluster, nous vous recommandons de mettre à jour vers la dernière version en disponibilité générale (GA) en exécutant la commande suivante. Si vous installez Azure Container Storage pour la première fois sur le cluster, passez à l’installation d’Azure Container Storage et créez un pool de stockage. Vous pouvez également installer Azure Container Storage sur des pools de nœuds spécifiques.

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

N’oubliez pas de remplacer <cluster-name> et <resource-group> par vos propres valeurs.

Installer Azure Container Storage et créer un pool de stockage

Avant d’installer, vérifiez que votre cluster AKS répond aux exigences de la machine virtuelle.

Exécutez la commande suivante pour installer Azure Container Storage sur le cluster et créer un pool de stockage. Remplacez <cluster-name> et <resource-group> par vos propres valeurs. Remplacer <storage-pool-type> par azureDisk, ephemeralDiskou elasticSan. Si vous sélectionnez ephemeralDisk, vous pouvez également spécifier --storage-pool-option, et les valeurs peuvent être NVMe ou Temp.

L’exécution de cette commande active Azure Container Storage sur le pool de nœuds système, qui est nommé nodepool1*par défaut. Si vous souhaitez l’activer sur d’autres pools de nœuds, consultez Installer Azure Container Storage sur des pools de nœuds spécifiques. Si vous souhaitez spécifier des paramètres supplémentaires, consultez les paramètres du pool de stockage Stockage Conteneur Azure.

*S’il existe des pools de nœuds existants avec l’étiquette acstor.azure.com/io-engine:acstor , Azure Container Storage y sera installé par défaut. Sinon, il est installé sur le pool de nœuds du système.

Important

Si vous avez créé votre cluster AKS à l’aide du portail Azure : Le cluster aura probablement un pool de nœuds utilisateur et un pool de nœuds système/agent. Toutefois, si votre cluster se compose uniquement d’un pool de nœuds système, qui est le cas avec des clusters de test/développement créés avec le portail Azure, vous devez d’abord ajouter un nouveau pool de nœuds utilisateur , puis l’étiqueter. Cela est dû au fait que lorsque vous créez un cluster AKS à l’aide du portail Azure, une teinte CriticalAddOnsOnly est ajoutée au pool de nœuds système/agent, ce qui bloque l’installation d’Azure Container Storage sur le pool de nœuds système. Cette taint n’est pas ajoutée lorsqu’un cluster AKS est créé à l’aide d’Azure CLI.

Si vous utilisez un cluster AKS multizone avec Azure Elastic SAN : Vous devrez utiliser un SAN élastique de stockage redondant de zone (ZRS). La valeur par défaut d’un pool de stockage SAN élastique est un stockage localement redondant (LRS). Pour activer ZRS pour un SAN élastique, utilisez elasticSan comme type de pool de stockage et ajoutez l’indicateur --storage-pool-sku Premium_ZRS à la commande CLI suivante.

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

Le déploiement prend 10 à 15 minutes. Une fois l’opération terminée, vous disposez d’un cluster AKS avec Azure Container Storage installé, les composants de votre type de pool de stockage choisi activés et un pool de stockage par défaut. Si vous souhaitez activer des types de pool de stockage supplémentaires pour créer des pools de stockage supplémentaires, consultez Activer des types de pool de stockage supplémentaires.

Important

Si vous avez spécifié Azure Elastic SAN comme stockage de support pour votre pool de stockage et que vous n'avez pas le rôle Azure Container Storage Owner ou le rôle Azure Container Storage Contributor attribué à l'abonnement Azure, l'installation d'Azure Container Storage échouera et un pool de stockage ne sera pas créé. Si vous essayez d’activer Azure Elastic SAN en tant que type de pool de stockage supplémentaire sans l’un de ces rôles, vos pools d’installation et de stockage précédents ne seront pas affectés et un pool de stockage SAN élastique ne sera pas créé.

Installer Azure Container Storage sur des pools de nœuds spécifiques

Si vous souhaitez installer Azure Container Storage sur des pools de nœuds spécifiques, suivez ces instructions. Les pools de nœuds doivent contenir au moins trois machines virtuelles Linux.

  1. Exécutez la commande suivante pour afficher la liste des pools de nœuds disponibles. Remplacez <resource-group> et <cluster-name> par vos propres valeurs.

    az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
    
  2. Exécutez la commande suivante pour installer Azure Container Storage sur des pools de nœuds spécifiques. Remplacez <cluster-name> et <resource-group> par vos propres valeurs. Remplacer <storage-pool-type> par azureDisk, ephemeralDiskou elasticSan. Si vous sélectionnez ephemeralDisk, vous pouvez également spécifier --storage-pool-option, et les valeurs peuvent être NVMe ou Temp.

    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>
    

Activer des types de pool de stockage supplémentaires

Si vous souhaitez activer un type de pool de stockage qui n’a pas été activé à l’origine pendant l’installation d’Azure Container Storage, exécutez la commande suivante. Remplacez <cluster-name> et <resource-group> par vos propres valeurs. Pour <storage-pool-type>, spécifiez azureDisk, ephemeralDiskou elasticSan.

Si vous souhaitez spécifier des paramètres de pool de stockage supplémentaires avec cette commande, consultez ce tableau.

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

Si le nouveau type de pool de stockage que vous avez activé prend plus de ressources que le type de pool de stockage déjà activé, la consommation de ressources passe à la quantité maximale.

Conseil / Astuce

Si vous avez ajouté un nouveau pool de nœuds à votre cluster et que vous souhaitez exécuter Stockage conteneur Azure sur ce pool de nœuds, vous pouvez spécifier le pool de nœuds avec --azure-container-storage-nodepools <nodepool-name> lors de l'exécution de la commande az aks update.

Afficher les pools de stockage disponibles

Pour obtenir la liste des pools de stockage disponibles, exécutez la commande suivante :

kubectl get sp -n acstor

Pour vérifier l’état d’un pool de stockage, exécutez la commande suivante :

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

Si le Message n'indique pas StoragePool is ready, alors votre pool de stockage est toujours en cours de création ou a rencontré un problème. Consultez Résoudre les problèmes liés au stockage de conteneurs Azure.

Désactiver les types de pool de stockage

Si vous n’utilisez plus de type de pool de stockage spécifique et que vous souhaitez le désactiver pour libérer des ressources dans votre pool de nœuds, exécutez la commande suivante. Remplacez <cluster-name> et <resource-group> par vos propres valeurs. Pour <storage-pool-type>, spécifiez azureDisk, ephemeralDiskou elasticSan.

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

Note

Si vous disposez d’un pool de stockage existant du type que vous essayez de désactiver, le type de pool de stockage n’est pas désactivé.

Étape suivante

Pour créer des volumes, sélectionnez le lien du type de stockage que vous avez choisi.