Partage via


Déploiements automatisés pour Azure Kubernetes Service (AKS)

Les déploiements automatisés simplifient le processus de configuration d’une action GitHub ou d’un pipeline Azure DevOps, ce qui facilite la création d’un pipeline de déploiement continu pour votre application vers Azure Kubernetes Service (AKS). Une fois connecté, chaque nouvelle validation déclenche automatiquement le pipeline, en fournissant des mises à jour à votre application en toute transparence. Vous pouvez apporter vos propres fichiers de déploiement pour la création rapide de pipelines ou générer des fichiers Dockerfiles et des manifestes Kubernetes pour conteneuriser et déployer des applications non conteneurisées avec un effort minimal.

Conditions préalables

Se connecter au référentiel de code source

Créez un workflow de déploiement automatisé et autorisez-le à se connecter au référentiel de code source souhaité.

  1. Dans le portail Azure, naviguez vers la ressource de votre cluster AKS.
  2. Dans le menu du service, sous Paramètres, sélectionnez Déploiements automatisés>créer.
  3. Sous Détails du référentiel, entrez un nom pour le flux de travail, puis sélectionnez GitHub ou ADO pour votre emplacement de dépôt.
  4. Sélectionnez Autoriser l’accès pour se connecter au référentiel souhaité.
  5. Choisissez le référentiel et la branche, puis sélectionnez Suivant.

Choisir la configuration de l’image conteneur

Pour préparer une application pour Kubernetes, vous devez la générer dans une image conteneur et la stocker dans un registre de conteneurs. Vous utilisez un fichier Dockerfile pour fournir des instructions sur la création de l’image conteneur. Si votre référentiel de code source n’a pas encore de fichier Dockerfile, les déploiements automatisés peuvent en générer un pour vous. Sinon, vous pouvez utiliser un fichier Dockerfile existant.

Utilisez des déploiements automatisés pour générer un fichier Dockerfile pour de nombreux langages et frameworks tels que Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift et Rust. La prise en charge du langage est basée sur ce qui est disponible dans draft.sh.

  1. Sélectionnez Auto-containerize (générer dockerfile) pour la configuration du conteneur.
  2. Sélectionnez l’emplacement où enregistrer le fichier Dockerfile généré dans le référentiel.
  3. Sélectionnez l’environnement d’application dans la liste des langages et infrastructures pris en charge.
  4. Entrez le port de l’application.
  5. Fournissez le chemin du contexte de génération du Dockerfile.
  6. Sélectionnez un Registre de conteneurs Azure existant ou créez-en un. Ce Registre est utilisé pour stocker l’image d’application générée.

Choisir la configuration du manifeste Kubernetes

Remarque

L’option Générer des manifestes prend également en charge les fonctionnalités avancées telles que l’intégration de Service Connector, les ressources d’entrée générées automatiquement, ainsi que les fichiers manifestes Kubernetes personnalisables et plus détaillés.

Une application s’exécutant sur Kubernetes se compose de nombreux composants primitifs Kubernetes. Ces composants décrivent l’image conteneur à utiliser, le nombre de réplicas à exécuter, s’il existe une adresse IP publique requise pour exposer l’application, etc. Pour plus d’informations, consultez la [documentation Kubernetes][kubernetes-documentation]. Si votre référentiel de code source ne dispose pas déjà des manifestes Kubernetes de base à déployer, les déploiements automatisés peuvent les générer pour vous. Sinon, vous pouvez utiliser un ensemble de manifestes existants. Vous pouvez également choisir un graphique Helm existant.

Si votre référentiel de code possède déjà un fichier Dockerfile, vous pouvez le sélectionner pour être utilisé pour générer l’image de l’application.

  1. Sélectionnez Utiliser les fichiers de déploiement de manifeste Kubernetes existants pour les options de déploiement.
  2. Sélectionnez le fichier manifeste ou le dossier Kubernetes à partir de votre dépôt.
  3. Cliquez sur Suivant.

(Facultatif) Utiliser une entrée managée et/ou un connecteur de service

Lorsque vous générez des manifestes Kubernetes avec des déploiements automatisés, vous pouvez éventuellement activer le routage des applications pour configurer un contrôleur d’entrée pour votre application. Vous pouvez également utiliser Service Connector pour créer une connexion ou intégrer en toute transparence votre application à un back-end de service Azure existant.

Le routage des applications fournit un contrôleur d’entrée basé sur NGINX entièrement managé, complet avec le chiffrement SSL/TLS intégré à l’aide de certificats stockés dans Azure Key Vault et la gestion des zones DNS via Azure DNS. Lorsque vous utilisez des déploiements automatisés, la commande d’entrée d’exposition s’intègre en toute transparence avec le routage des applications, ce qui facilite l’exposition de votre application au trafic externe sous un nom DNS sécurisé et personnalisé, avec une configuration minimale.

  1. Sélectionnez la case Exposer l'entrée.
  2. Choisissez entre un contrôleur d’entrée existant ou un nouveau contrôleur d’entrée.
  3. Choisissez entre utiliser un contrôleur d’entrée SSL/TLS activé ou non sécurisé .
  4. (Facultatif) Entrez les détails du certificat si vous choisissez un contrôleur d’entrée activé par SSL/TLS .
  5. Choisissez entre utiliser Azure DNS ou un fournisseur tiers.
  6. Entrez la zone Azure DNS et le nom du sous-domaine.

(Facultatif) Ajouter des variables d’environnement

Définissez des variables d’environnement pour un conteneur dans Kubernetes en spécifiant des paires nom-valeur. Les variables d’environnement sont importantes, car elles facilitent la gestion des paramètres, la gestion sécurisée des informations sensibles et la flexibilité dans les environnements.

Passer en revue la configuration et déployer

Passez en revue la configuration de l’application et les manifestes Kubernetes, puis sélectionnez Déployer. Une pull request (PR) sera générée sur le référentiel que vous avez sélectionné, alors ne quittez surtout pas la page de déploiement.

Vérifier et fusionner un pull request

Une fois le déploiement réussi, sélectionnez Afficher la demande de tirage pour afficher les détails de la demande de tirage générée sur votre référentiel de code.

Capture d’écran d'une pull request sur GitHub.

  1. Passez en revue les modifications apportées sous Fichiers et apportez les modifications souhaitées.
  2. Sélectionnez Fusionner la pull request pour intégrer les modifications dans votre référentiel de code.

La fusion de la modification exécute le workflow GitHub Actions qui génère votre application dans une image conteneur, la stocke dans Azure Container Registry et la déploie sur le cluster.

Capture d’écran montrant le flux de travail GitHub Actions en cours.

Vérifier les ressources déployées

Une fois le pipeline terminé, vous pouvez passer en revue le Service Kubernetes créé dans le Portail Azure en sélectionnant Services et entrées sous la section Ressources Kubernetes du menu du service.

Capture d’écran du volet Services et ingresses.

La sélection de l’adresse IP externe doit ouvrir une nouvelle page de navigateur avec l’application en cours d’exécution.

Capture d’écran montrant l’application Contoso Air en cours d’exécution.

Supprimer des ressources

Une fois que vous avez terminé avec votre cluster, procédez comme suit pour éviter les frais Azure :

  1. Dans le portail Azure, accédez aux déploiements automatisés
  2. Sélectionnez ... dans le pipeline de votre choix.
  3. Sélectionnez Supprimer.