Didacticiel : Exécuter des applications dans Azure Kubernetes Service (ACS)

Kubernetes fournit une plateforme distribuée destinée aux applications en conteneur. Vous générez et déployez vos propres applications et services dans un cluster Kubernetes, et vous laissez le cluster gérer la disponibilité et la connectivité. Dans ce didacticiel (le quatrième d’une série de sept), vous déployez un exemple d’application dans un cluster Kubernetes. Vous allez apprendre à effectuer les actions suivantes :

  • Mettre à jour un fichier manifeste Kubernetes.
  • Exécution d’une application dans Kubernetes.
  • Test de l'application

Dans les didacticiels ultérieurs, vous allez effectuer un scale-out et mettre à jour votre application.

Ce guide de démarrage rapide suppose que vous disposez d’une compréhension élémentaire des concepts liés à Kubernetes. Pour plus d’informations, consultez Concepts de base de Kubernetes pour AKS (Azure Kubernetes Service).

Conseil

Les clusters AKS peuvent utiliser GitOps pour la gestion de la configuration. GitOp permet aux déclarations de l’état de votre cluster, qui sont envoyées au contrôle de code source, d’être appliquées automatiquement au cluster. Pour savoir comment utiliser GitOps pour déployer une application avec un cluster AKS, consultez le tutoriel Prérequis pour les clusters Azure Kubernetes Service dans le tutoriel GitOps avec Flux v2.

Avant de commencer

Dans les didacticiels précédents, vous avez empaqueté une application dans une image conteneur, chargé l’image dans Azure Container Registry et créé un cluster Kubernetes.

Pour effectuer ce didacticiel, vous avez besoin du fichier manifeste Kubernetes azure-vote-all-in-one-redis.yaml. Ce téléchargement de fichier était inclus avec le code source de l’application dans un didacticiel précédent. Vérifiez que vous avez cloné le référentiel et changé des répertoires dans le référentiel cloné. Si vous n’avez pas effectué ces étapes et voulez suivre cette procédure, commencez par Tutoriel 1 : Préparer une application pour AKS.

Ce didacticiel nécessite l’exécution de l’interface de ligne de commande Azure CLI version 2.0.53 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Mettre à jour le fichier manifeste

Dans ces didacticiels, une instance Azure Container Registry (ACR) stocke l’image conteneur de l’exemple d’application. Pour déployer l’application, vous devez mettre à jour le nom de l’image dans le fichier manifeste Kubernetes afin d’inclure le nom du serveur de connexion ACR.

Obtenez le nom du serveur de connexion ACR à l’aide de la commande az acr list.

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

L’exemple de fichier manifeste du référentiel Git que vous avez cloné dans le premier tutoriel utilise les images de Microsoft Container Registry (mcr.microsoft.com). Veillez à être dans le répertoire azure-voting-app-redis cloné, puis ouvrez le fichier manifeste avec un éditeur de texte, comme vi :

vi azure-vote-all-in-one-redis.yaml

Remplacez mcr.microsoft.com par le nom de votre serveur de connexion ACR. Vous trouverez le nom de l’image à la ligne 60 du fichier manifeste. L’exemple ci-après indique le nom de l’image par défaut :

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Fournissez le nom de votre propre serveur de connexion ACR afin que votre fichier manifeste ressemble à l’exemple suivant :

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Enregistrez et fermez le fichier. Dans vi, utilisez :wq.

Déployer l’application

Pour déployer votre application, utilisez la commande kubectl apply, en spécifiant l’exemple de fichier manifeste. Cette commande analyse le fichier manifeste et crée les objets Kubernetes définis.

kubectl apply -f azure-vote-all-in-one-redis.yaml

L’exemple de sortie suivant montre les ressources correctement créées dans le cluster AKS :

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Test de l’application

Quand l’application s’exécute, un service Kubernetes expose le front-end de l’application sur Internet. L’exécution de ce processus peut prendre plusieurs minutes.

Pour surveiller la progression, utilisez la commande kubectl get service avec l’argument --watch.

kubectl get service azure-vote-front --watch

Au début, EXTERNAL-IP pour le service azure-vote-front apparaît comme En attente.

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Quand l’adresse EXTERNAL-IP passe de l’état pending à une adresse IP publique réelle, utilisez CTRL-C pour arrêter le processus de surveillance kubectl. L’exemple de sortie suivant montre une adresse IP publique valide affectée au service :

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

Pour voir l’application en action, ouvrez un navigateur web en utilisant l’adresse IP externe de votre service.

Capture d’écran montrant l’image conteneur Application de vote Azure en cours d’exécution dans un cluster AKS ouvert dans un navigateur web local

Si l’application ne s’est pas chargée, il y a peut-être un problème d’autorisation avec votre registre d’images. Pour visualiser l’état de vos conteneurs, utilisez la commande kubectl get pods. Si vous ne pouvez pas extraire les images conteneur, consultez S’authentifier auprès d’Azure Container Registry à partir d’Azure Kubernetes Service.

Étapes suivantes

Dans ce tutoriel, vous avez déployé un exemple d’application de vote Azure sur un cluster Kubernetes dans AKS. Vous avez appris à :

  • Mettre à jour un fichier manifeste Kubernetes.
  • Exécution d’une application dans Kubernetes.
  • Test de l'application

Dans le didacticiel suivant, vous découvrirez comment mettre à l’échelle une application Kubernetes et l’infrastructure Kubernetes sous-jacente.