Tutoriel : Déployer des applications dans AKS activées par Azure Arc

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Vous pouvez créer et déployer vos propres applications et services dans un cluster Kubernetes lorsque vous utilisez Azure Kubernetes Service activés par Azure Arc. Kubernetes fournit une plateforme distribuée pour les applications conteneurisées. Vous pouvez laisser le cluster gérer la disponibilité et la connectivité.

Ce tutoriel, quatrième partie sur sept, explique comment déployer un exemple d’application dans un cluster Kubernetes dans AKS. Vous découvrirez comment effectuer les actions suivantes :

  • Mettre à jour un fichier manifeste Kubernetes
  • Déployer une application dans Kubernetes
  • Test de l’application

Les tutoriels suivants décrivent comment mettre à l’échelle et mettre à jour cette application.

Ce didacticiel suppose que vous disposez de connaissances de base sur les concepts de Kubernetes.

Avant de commencer

Les tutoriels précédents ont décrit comment empaqueter une application dans une image conteneur, puis charger l’image dans le Azure Container Registry et créer un cluster Kubernetes.

Pour suivre ce tutoriel, vous avez besoin du fichier manifeste Kubernetes azure-vote-all-in-one-one-redis.yaml créé au préalable. Ce fichier a été téléchargé avec le code source de l’application dans un didacticiel précédent. Vérifiez que vous avez cloné le dépôt et que vous avez modifié les répertoires en référentiel cloné. Si vous n’avez pas effectué ces étapes, commencez par tutoriel 1 - Create images conteneur.

Ce tutoriel nécessite Azure CLI version 2.0.53 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau Azure CLI, consultez Installer Azure CLI.

Mettre à jour le fichier manifeste

Dans ces didacticiels, un Azure Container Registry instance 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 au registre de conteneurs.

Obtenez le nom du serveur de connexion Azure Container Registry à l’aide de la commande az acr list, comme suit :

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

L’exemple de fichier manifeste du dépôt GitHub que vous avez cloné dans le premier tutoriel utilise le nom du serveur de connexion microsoft. Vérifiez que vous êtes dans le répertoire azure-voting-app-redis cloné, puis ouvrez le fichier manifeste avec un éditeur de texte, tel que le Bloc-notes :

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

Remplacez microsoft par le nom de votre serveur de connexion Azure Container Registry. Le nom de l’image figure à 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 votre propre nom de serveur de connexion Azure Container Registry 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.

Déployer l’application

Pour déployer votre application, utilisez la commande kubectl apply. Cette commande analyse le fichier manifeste et crée les objets Kubernetes définis. Spécifiez l’exemple de fichier manifeste, comme indiqué dans l’exemple suivant :

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

L’exemple de sortie suivant montre les ressources créées avec succès dans le cluster Kubernetes :

$ 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

Lorsque l’application s’exécute, le 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

Dans un premier temps, la valeur EXTERNAL-IP du service azure-vote-front est indiqué comme étant en attente (pending) :

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

Lorsque l’adresse EXTERNAL-IP passe de en attente à une adresse IP publique réelle, utilisez CTRL-C pour arrêter le kubectl processus watch. 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 les images conteneur ne peuvent pas être extraites, 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 activé par Arc. Vous avez appris à :

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

Passez au didacticiel suivant pour découvrir comment mettre à l’échelle une application Kubernetes et l’infrastructure Kubernetes sous-jacente.