Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Ce tutoriel présente Azure Container Storage et montre comment déployer et gérer le stockage natif de conteneur pour les applications s’exécutant sur Azure Kubernetes Service (AKS). Si vous ne souhaitez pas déployer Azure Container Storage maintenant, vous pouvez ignorer ce didacticiel et passer directement au déploiement d’une application dans AKS. Vous n’aurez pas besoin d’Azure Container Storage pour l’application de vitrine de base de cette série de tutoriels.
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.
Azure Container Storage simplifie la gestion des applications avec état dans Kubernetes en offrant un stockage natif conteneur adapté à une variété de charges de travail, notamment les bases de données, les plateformes d’analyse et les applications hautes performances.
À la fin de ce tutoriel, vous allez :
- Découvrez comment Azure Container Storage prend en charge diverses charges de travail dans Kubernetes.
- Explorez plusieurs options de back-end de stockage pour adapter le stockage aux besoins de votre application.
- Déployez Azure Container Storage (version 1.x.x) sur votre cluster AKS et créez un volume éphémère générique.
Avant de commencer
Dans les didacticiels précédents, vous avez créé une image conteneur, l’avez chargée sur une instance ACR et créé un cluster AKS. Commencez par le Tutoriel 1 : Préparer l'application pour qu'AKS suive.
- Ce tutoriel nécessite l’utilisation d’Azure CLI version 2.35.0 ou ultérieure. Le portail et PowerShell ne sont actuellement pas pris en charge pour le stockage de conteneurs Azure. Vérifiez votre version à l’aide de
az --version. Pour installer ou mettre à niveau Azure CLI, consultez Installer Azure CLI. Si vous utilisez l’environnement Bash dans Azure Cloud Shell, la version la plus récente est déjà installée. - Vous devez disposer d’un cluster AKS linux existant avec au moins 3 nœuds avec des références SKU de machine virtuelle optimisées pour le stockage ou des références SKU de machine virtuelle accélérée par GPU. Consultez le tutoriel 3 : Créer un cluster AKS.
- Vous aurez besoin du client de ligne de commande Kubernetes.
kubectlSi vous utilisez Azure Cloud Shell, il est déjà installé ; vous pouvez aussi l’installer localement en exécutant la commandeaz aks install-cli.
Installer l’extension Kubernetes
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
Se connecter au cluster et vérifier l’état du nœud
Si vous n’êtes pas déjà connecté à votre cluster à partir du didacticiel précédent, exécutez les commandes suivantes. Si vous êtes déjà connecté, vous pouvez ignorer cette section.
Exécutez la commande suivante pour vous connecter au cluster.
az aks get-credentials --resource-group myResourceGroup --name myAKSClusterPour vérifier la connexion à votre cluster, exécutez la commande
kubectl get. Cette commande renvoie la liste des nœuds de cluster.kubectl get nodesL’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.30.9 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.30.9 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.30.9
Choisir une option de stockage
Azure Container Storage (version 1.x.x) utilise des pools de stockage pour approvisionner et gérer des volumes persistants et génériques. Il offre une variété d’options de stockage back-end pour vos pools de stockage, chacune adaptée à des charges de travail spécifiques. La sélection du type de stockage approprié est essentielle pour optimiser les performances de la charge de travail, la durabilité et l’efficacité des coûts. Pour ce tutoriel, nous allons utiliser un disque éphémère avec NVMe local comme stockage pour créer un volume éphémère générique. Toutefois, nous allons également explorer les autres options de stockage qui vous permettent de créer des volumes persistants.
Disque éphémère
Le disque éphémère utilise des ressources de stockage locales sur les nœuds AKS (DISQUE NVMe local ou SSD temporaire). Elle offre une latence inférieure à ms et des E/S par seconde élevées, mais aucune persistance des données si la machine virtuelle redémarre. Le disque éphémère est adapté aux applications telles que Cassandra qui hiérarchisent la vitesse par rapport à la persistance et sont idéales pour les charges de travail avec leur propre réplication au niveau de l’application.
Vous pouvez utiliser le disque éphémère pour créer des volumes éphémères génériques ou des volumes persistants, même si les données seront perdues si la machine virtuelle redémarre.
Disques Azure
Idéal pour les bases de données telles que PostgreSQL et MongoDB, Les disques Azure offrent des options de durabilité, d’extensibilité et de performances multiniveau, notamment ssd Premium et SSD Ultra.
Les disques Azure permettent l’approvisionnement automatique des volumes de stockage et incluent la redondance intégrée et la haute disponibilité.
Azure Elastic SAN (préversion)
Conçu pour les besoins de stockage partagé et les bases de données à usage général nécessitant une scalabilité et une haute disponibilité, Azure Elastic SAN convient parfaitement aux charges de travail telles que les pipelines CI/CD ou le traitement des données à grande échelle.
Activer Azure Container Storage (version 1.x.x) et créer un pool de stockage
Exécutez la commande suivante pour installer Azure Container Storage sur le cluster et créer un pool de stockage NVMe local.
az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk --container-storage-version 1 --storage-pool-option NVMe
Le déploiement doit prendre moins de 15 minutes.
Vérifier l’état du pool de stockage
Une fois le déploiement terminé, les composants de votre type de pool de stockage choisi sont activés et vous disposez d’un pool de stockage par défaut.
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.
Afficher les classes de stockage disponibles
Lorsque le pool de stockage est prêt à être utilisé, vous devez sélectionner une classe de stockage pour définir la façon dont le stockage est créé dynamiquement lors de la création et du déploiement de volumes.
Exécutez kubectl get sc pour afficher les classes de stockage disponibles. Vous devriez voir une classe de stockage appelée acstor-<storage-pool-name>. Utilisez cette classe de stockage dans la section suivante pour déployer un pod.
Déployer un pod avec un volume éphémère générique
Créez un pod à l’aide de Fio (testeur d’E/S flexible) pour l’évaluation et la simulation de charge de travail, qui utilise un volume éphémère générique.
Utilisez votre éditeur de texte favori pour créer un fichier manifeste YAML tel que
code acstor-pod.yaml.Collez le code suivant et enregistrez le fichier.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: acstor.azure.com/io-engine: acstor containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: metadata: labels: type: my-ephemeral-volume spec: accessModes: [ "ReadWriteOnce" ] storageClassName: acstor-ephemeraldisk-nvme # replace with the name of your storage class if different resources: requests: storage: 1GiSi vous modifiez la taille de stockage du volume, vérifiez que la taille est inférieure à la capacité disponible du disque éphémère d’un nœud unique. Exécutez
kubectl get diskpool -n acstorpour vérifier la capacité disponible.Appliquez le fichier manifeste YAML pour déployer le pod.
kubectl apply -f acstor-pod.yamlVous devez obtenir une sortie similaire à la suivante :
pod/fiopod createdVérifiez que le pod est en cours d’exécution et que la revendication de volume éphémère a bien été liée au pod :
kubectl describe pod fiopod kubectl describe pvc fiopod-ephemeralvolume
Vous avez maintenant déployé un pod qui utilise nvMe local comme stockage, et vous pouvez l’utiliser pour vos charges de travail Kubernetes.
Vérifiez la capacité disponible des disques éphémères avant de provisionner des volumes supplémentaires :
kubectl describe node <node-name>
Pour en savoir plus sur Azure Container Storage (version 1.x.x), notamment sur la création de volumes persistants, consultez Qu’est-ce qu’Azure Container Storage ?
Nettoyer les ressources
Vous n’aurez pas besoin d’Azure Container Storage pour le reste de cette série de tutoriels. Nous vous recommandons donc de le supprimer maintenant pour éviter les frais Azure inutiles.
Supprimez le pod.
kubectl delete pod fiopodSupprimez le pool de stockage.
kubectl delete sp -n acstor <storage-pool-name>Supprimez l’instance d’extension.
az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage all
Étape suivante
Dans ce tutoriel, vous avez déployé Azure Container Storage (version 1.x.x) sur votre cluster AKS. Vous avez appris à :
- Activez Azure Container Storage (version 1.x.x) sur votre cluster AKS.
- Choisissez un type de stockage de soutien et créez un pool de stockage.
- Déployez un pod avec un volume éphémère générique.
Dans le tutoriel suivant, vous allez apprendre à déployer une application sur votre cluster.
Azure Kubernetes Service