Tutoriel : déployer une application sur Azure Kubernetes Service (AKS)

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é.

Vous pouvez déployer l’exemple d’application de deux façons :

Dans ce tutoriel, vous déployez un exemple d’application dans un cluster Kubernetes directement à partir de votre station de travail et gérez l’application à l’aide d’AKS Desktop. Vous allez apprendre à effectuer les actions suivantes :

  • Mettre à jour un fichier manifeste Kubernetes.
  • Déployez une application dans Kubernetes.
  • Test de l'application
  • Consultez l’état de santé des applications, les journaux, les métriques et la composition dans AKS desktop.

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 terminer ce didacticiel, vous avez besoin du fichier aks-store-quickstart.yaml manifeste Kubernetes précréé. Ce fichier a été téléchargé dans le code source de l’application à partir de Tutoriel 1 - Préparer l’application pour AKS.

Ce didacticiel crée et met à jour des ressources facturables, telles que les services LoadBalancer. Utilisez une identité avec des autorisations pour déployer des charges de travail sur AKS et lire des ressources de cluster.

Ce tutoriel nécessite l’installation de AKS desktop.

Mettre à jour le fichier manifeste

Dans ces didacticiels, votre 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 de votre serveur de connexion ACR.

  1. Vérifiez que vous êtes dans le répertoire aks-store-demo cloné, puis ouvrez le fichier manifeste aks-store-quickstart.yaml avec un éditeur de texte.

  2. Mettez à jour la propriété image pour les conteneurs en remplaçant ghcr.io/azure-samples par le nom de votre serveur de connexion ACR.

    containers:
    ...
    - name: order-service
      image: <acrName>.azurecr.io/aks-store-demo/order-service:1.0
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:1.0
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:1.0
    ...
    

Exécution de l'application

Déployer et gérer l’application à l’aide du bureau AKS

Le bureau AKS est un portail de développement axé sur l’application pour Azure Kubernetes Service (AKS) qui simplifie le déploiement et la gestion des applications sans nécessiter d’expertise approfondie de Kubernetes.

Inscrire votre cluster auprès d’AKS Desktop

  1. Vérifiez que vous êtes connecté au bureau AKS avec le même compte qui a accès au cluster AKS. Une fois connecté, sélectionnez Ajouter à partir d’un abonnement Azure.
  2. Entrez le nom de votre abonnement Azure si vous en avez plusieurs. (Vous pouvez également sélectionner la flèche pour ouvrir la liste déroulante, puis sélectionner votre abonnement Azure.)
  3. Sélectionnez votre cluster, puis enregistrez le cluster.

Continuez lorsque l’état du cluster s’affiche comme « connecté » dans l’application de bureau AKS.

Vidéo montrant comment ajouter un cluster à l’application de bureau AKS.

Créer un projet managé dans le bureau AKS

  1. Dans l’application de bureau AKS, accédez à l’onglet Projets et sélectionnez Créer un nouveau projet géré.

  2. Configurez les paramètres de projet suivants :

    • Principes de base :
      • Nom du projet : par exemple, my-dev-frontend
      • Abonnement : <your-subscription-name>
      • Cluster : <your-cluster-name>

    Note

    Lorsque vous définissez l’abonnement Azure et le cluster AKS, le bureau AKS vérifie la prise en charge requise des fonctionnalités de cluster et d’abonnement.

    • Stratégies de mise en réseau : vous pouvez conserver les paramètres par défaut pour ce guide de démarrage rapide ou les mettre à jour si nécessaire.

      • Pour exposer l’application publiquement, remplacez Ingress par Allow all traffic.
    • Quota de calcul : définissez les valeurs de l’application de test. Capture d’écran montrant la définition des valeurs pour le quota de calcul.

    • Accès : ajoutez une personne ou supprimez l’entrée en supprimant l’élément de ligne.

  3. Sous Révision, vérifiez les paramètres de votre projet, puis sélectionnez Créer un projet.

    Capture d’écran de la création d’un projet dans le bureau AKS.

Déployer une application

  1. Fournissez un nom d’application, puis sélectionnez Créer une application.

    Capture d’écran de la création d’une application dans le bureau AKS.

  2. Sélectionnez une source pour votre application. Pour cet exemple, sélectionnez Kubernetes YAML>Next. Capture d’écran montrant la sélection de la source de l’application, sélectionnez YAML Kubernetes.

  3. Ouvrez aks-store-quickstart.yaml, copiez et collez son contenu dans l’éditeur, puis sélectionnez Suivant. Capture d’écran montrant l’éditeur YAML avec le YAML copié et collé.

  4. Passez en revue les ressources créées, puis sélectionnez Déployer et fermer. Capture d’écran montrant le résumé Vérifier et déployer, sélectionnez Déployer et fermer.

  5. Le déploiement des ressources peut prendre quelques minutes. Pendant ce temps, l’état du projet peut s’afficher Degraded alors que le cluster est en cours de mise à l’échelle.

  6. Vérifiez l’état des ressources d’application en sélectionnant Ressources , puis charges de travail.

    Capture d’écran de l’onglet Ressources, qui permet d’afficher les ressources et leurs modifications. Vous pouvez forcer l’actualisation de l’affichage en sélectionnant l’option Navigate>Reload dans le menu supérieur de la fenêtre.

  7. Sélectionnez des ressources de charge de travail individuelles pour afficher leurs détails et leurs événements.

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.

Poste de travail AKS

  1. Récupérez l’adresse IP publique à partir de Ressource>Réseau>Service : store-front>IP externe. Capture d’écran montrant l’obtention de l’adresse IP publique pour l’application.

  2. Explorez l’application dans l’application de bureau AKS, par exemple en affichant les journaux et les métriques. Pour plus d’informations, consultez la vue d’ensemble d’AKS desktop.

Ligne de commande

  1. Surveillez la progression avec la commande kubectl get service et l’argument --watch.

    kubectl get service store-front --watch
    

    Au début, EXTERNAL-IP pour le service store-front apparaît comme <pending> :

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Quand l’adresse EXTERNAL-IP passe de <pending> à une adresse IP publique, 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 :

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Affichez l’application en action en ouvrant un navigateur web et en accédant à l’adresse IP externe de votre service : http://<external-ip>.

    Capture d’écran de l’exemple d’application AKS Store.

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.

Portail Azure

Accédez au Portail Azure pour rechercher vos informations de déploiement.

  1. Accédez à votre ressource de cluster AKS.

  2. Dans le menu du service, sous Ressources Kubernetes, sélectionnez Services et entrées.

  3. Copiez l’adresse IP externe affichée dans la colonne pour le service store-front.

  4. Collez l’adresse IP dans votre navigateur pour visiter la page de votre magasin.

    Capture d’écran de l’exemple d’application AKS Store.

Nettoyer les ressources

Étant donné que vous avez validé la fonctionnalité de l’application, vous pouvez désormais supprimer le cluster de l’application. Nous allons redéployer l’application dans le tutoriel suivant.

Poste de travail AKS

Note

Si vous souhaitez passer à l’étape suivante du didacticiel, ne supprimez pas le projet de bureau AKS.

Si vous avez terminé, sélectionnez l’icône Supprimer . Dans le message de confirmation, sélectionnez Également supprimer l’espace de noms. Pour supprimer le projet, sélectionnez l’icône corbeille

Ligne de commande

  1. Pour arrêter et supprimer les instances de conteneur et les ressources, utilisez la commande kubectl delete.

    kubectl delete -f aks-store-quickstart.yaml
    
  2. Vérifiez que tous les pods d’application ont été supprimés à l’aide de la commande kubectl get pods.

    kubectl get pods
    

Étapes suivantes

Dans ce tutoriel, vous avez déployé un exemple d’application 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 tutoriel suivant, vous allez apprendre à utiliser les services PaaS pour les charges de travail avec état dans Kubernetes.