Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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. Dans ce tutoriel, vous allez créer un cluster Azure Kubernetes Service (AKS) et installer Azure Container Storage (version 1.x.x) sur le cluster. Si vous avez déjà déployé un cluster AKS, nous vous recommandons d’installer Azure Container Storage (version 1.x.x) à l’aide de ce guide de démarrage rapide au lieu de suivre les étapes manuelles de ce didacticiel.
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.
- Créer un groupe de ressources
- Choisir une option de stockage de données et un type de machine virtuelle
- Créer un cluster AKS
- Se connecter au cluster
- Étiqueter le pool de nœuds
- Attribuer le rôle Azure "Container Storage Operator" à l'identité managée AKS
- Installer Azure Container Storage (version 1.x.x)
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.
kubectlElle est déjà installée si vous utilisez Azure Cloud Shell ou si vous pouvez l’installer localement en exécutant laaz aks install-clicommande.Vérifiez si votre région cible est prise en charge dans les régions stockage de conteneurs Azure.
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 CLI à 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>
Créer un groupe de ressources
Un groupe de ressources Azure est un groupe logique qui contient vos ressources Azure que vous souhaitez gérer en tant que groupe. Lorsque vous créez un groupe de ressources, vous êtes invité à spécifier un emplacement. Cet emplacement est le suivant :
- Emplacement de stockage de vos métadonnées de 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 de 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 souhaitez créer et remplacez <location> par une région Azure telle que eastus, westus2, westus3 ou westeurope.
az group create --name <resource-group-name> --location <location>
Si le groupe de ressources a été créé avec succès, vous verrez un résultat similaire à celui-ci :
{
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
"location": "eastus",
"managedBy": null,
"name": "myContainerStorageRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Choisir une option de stockage de données et un type de machine virtuelle
Avant de créer votre cluster, vous devez comprendre quelle option de stockage back-end vous choisirez finalement de créer votre pool de stockage. Cela est dû au fait que différents services de stockage fonctionnent mieux avec différents types de machines virtuelles en tant que nœuds de cluster, et que vous allez déployer votre cluster avant de créer le pool de stockage.
Options de stockage des données
Azure Elastic SAN : 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 CD/CI et aux autres charges de travail de niveau 1/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 disques SSD NVMe locaux ou temporaires sur les nœuds AKS et 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 des 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.
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.
- Si vous envisagez d'utiliser Azure Elastic SAN ou Disques Azure comme stockage de soutien, choisissez un type de machine virtuelle à usage général tel que standard_d4s_v5.
- Si vous envisagez d’utiliser un disque éphémère avec NVMe local, choisissez, par exemple, une référence SKU de machine virtuelle qui prend en charge les disques NVMe locaux, comme les références SKU de machine virtuelle optimisées pour le stockage ou les références SKU de machine virtuelle accélérées par GPU.
- Si vous envisagez d’utiliser le disque éphémère avec ssd temporaire, choisissez une machine virtuelle avec un disque SSD temporaire tel que Ev3 et Esv3-series.
Créer un cluster AKS et installer Azure Container Storage
Si vous avez déjà déployé un cluster AKS, suivez les instructions d’installation de ce guide de démarrage rapide.
Exécutez la commande suivante pour créer un cluster AKS, installer Azure Container Storage et créer un pool de stockage. Remplacez <cluster-name> et <resource-group> par vos propres valeurs, et spécifiez le type de machine virtuelle que vous souhaitez utiliser. Remplacer <storage-pool-type> par azureDisk, ephemeralDiskou elasticSan. Si vous sélectionnez ephemeralDisk, vous devez é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* avec trois machines virtuelles Linux. Si vous spécifiez un NVMe local pour votre type de pool de stockage, veillez à définir le nombre de nœuds sur 4 ou supérieur, ou la commande échoue.
Par défaut, le pool de nœuds système est nommé nodepool1. Si vous souhaitez activer Azure Container Storage sur d’autres pools de nœuds, consultez Installer Stockage conteneur Azure sur des pools de nœuds spécifiques. Si vous souhaitez spécifier des paramètres de pool de stockage supplémentaires avec cette commande, consultez ce tableau.
*S’il existe des pools de nœuds existants avec l’étiquette acstor.azure.com/io-engine:acstor , Azure Container Storage installe les composants du plan de données par défaut. Dans le cas contraire, les utilisateurs ont la possibilité de passer le pool de nœuds préféré à acstor par le biais d'Azure CLI. Si le cluster possède uniquement le pool de nœuds système, il est étiqueté et utilisé pour le stockage conteneur Azure par défaut. Il est important de noter que seuls les composants du plan de données seront limités au pool de nœuds étiqueté. Les composants du plan de contrôle d’Azure Container Storage ne sont pas limités aux nœuds étiquetés et peuvent également être installés sur le pool de nœuds système.
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --generate-ssh-keys
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éé.
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.
Étape suivante
Sélectionnez le lien pour le type de stockage que vous avez choisi et suivez les instructions pour créer des volumes.