Partager via


Déployer un conteneur Windows Server sur un cluster Azure Kubernetes Service (AKS) à l’aide du Portail Azure

AKS (Azure Kubernetes Service) est un service Kubernetes managé qui vous permet de déployer et de gérer rapidement des clusters. Dans cet article, vous déployez un cluster AKS qui exécute des conteneurs Windows Server 2019 à l’aide du portail Azure. Vous déployez également un exemple d’application ASP.NET dans un conteneur Windows Server vers le cluster.

Remarque

Dans cet article, vous trouverez les étapes à suivre pour déployer rapidement un cluster AKS. Les paramètres par défaut sont utilisés à des fins d'évaluation uniquement. Avant de déployer un cluster prêt pour la production, nous vous recommandons de vous familiariser avec notre architecture de référence de base pour prendre en compte la façon dont elle s’aligne sur vos besoins métier.

Avant de commencer

Ce guide de démarrage rapide suppose 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).

Créer un cluster AKS

  1. Connectez-vous au portail Azure.

  2. Sur la page d’accueil du portail Azure, sélectionnez Créer une ressource.

  3. Dans la section Catégories, sélectionnez Conteneurs>Azure Kubernetes Service (AKS).

  4. Sous l’onglet Informations de base, configurez les paramètres suivants :

    • Sous Détails du projet :
      • Abonnement : sélectionnez l’abonnement Azure à utiliser pour ce cluster AKS.
      • Groupe de ressources : sélectionnez Créer nouveau, entrez un nom de groupe de ressources, tel que myResourceGroup, puis sélectionnez Ok. Bien que vous puissiez sélectionner un groupe de ressources existant, à des fins de test ou d’évaluation, nous vous recommandons de créer un groupe de ressources pour héberger temporairement ces ressources et éviter d’avoir un impact sur vos charges de travail de production ou de développement.
    • Sous Détails du cluster :
      • Configuration prédéfinie de cluster : sélectionnez Dev/Test. Pour plus d’informations sur les configurations prédéfinies, consultez Présélections de configuration de cluster dans le portail Azure.

        Remarque

        Vous pouvez modifier la configuration prédéfinie lors de la création de votre cluster en sélectionnant Comparer les présélections et en choisissant une autre option. Capture d’écran de La création d’un cluster AKS - options prédéfinies du portail.

      • Nom du cluster Kubernetes : entrez un nom de cluster, tel que myAKSCluster.

      • Région : sélectionnez une région, par exemple USA Est 2.

      • Zones de disponibilité : sélectionnez Aucune.

      • Niveau tarifaire AKS : sélectionnez Gratuit.

      • Laissez les valeurs par défaut pour les autres paramètres, puis sélectionnez Suivant.

        Capture d’écran montrant comment configurer un cluster AKS dans le Portail Azure.

  5. Sous l’onglet Pools de nœuds, configurez les paramètres suivants :

    • Sélectionnez Ajouter un pool de nœuds et entrez un Nom de pool de nœuds, tel que npwin. Pour un pool de nœuds Windows, le nom doit être de six caractères ou moins.

    • Mode : sélectionnez Utilisateur.

    • Référence SKU du système d’exploitation : sélectionnez Windows 2022.

    • Zones de disponibilité : sélectionnez Aucune.

    • Laissez la case Activer les instances Azure Spot décochée.

    • Taille de nœud : sélectionnez Choisir une taille. Dans la page Sélectionner une taille de machine virtuelle, sélectionnez D2s_v3, puis sélectionnez Sélectionner.

    • Laissez les valeurs par défaut pour les autres paramètres, puis sélectionnez Ajouter.

      Capture d’écran montrant comment créer un pool de nœuds exécutant Windows Server 2022.

  6. Sélectionnez Vérifier + créer pour effectuer la validation de la configuration du cluster. Une fois la validation terminée, sélectionnez Créer.

    La création du cluster AKS ne prend que quelques minutes. Une fois votre déploiement terminé, accédez à votre ressource en sélectionnant Aller à la ressource, ou en accédant au groupe de ressources de cluster AKS et en sélectionnant la ressource AKS.

Se connecter au cluster

Vous utilisez kubectl, le client de ligne de commande Kubernetes, pour gérer vos clusters Kubernetes. Si vous utilisez Azure Cloud Shell, kubectl est déjà installé. Si vous ne connaissez pas Cloud Shell, consultez Vue d’ensemble d’Azure Cloud Shell.

  1. Ouvrez Cloud Shell en sélectionnant le >_ bouton en haut de la page Portail Azure.

  2. Configurez kubectl afin de vous connecter à votre cluster Kubernetes avec la commande az aks get-credentials. La commande suivante télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Vérifiez la connexion à votre cluster, utilisez la commande kubectl get nodes pour retourner une liste des nœuds du cluster.

    kubectl get nodes
    

    L’exemple de sortie suivant montre tous les nœuds du cluster. Vérifiez que l’état de tous les nœuds est sur Prêt :

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-agentpool-11741175-vmss000000   Ready    agent   8m17s   v1.29.9
    aks-agentpool-11741175-vmss000001   Ready    agent   8m17s   v1.29.9
    aksnpwin000000                      Ready    agent   8m17s   v1.29.9
    aks-userpool-11741175-vmss000000    Ready    agent   8m17s   v1.29.9
    aks-userpool-11741175-vmss000001    Ready    agent   8m17s   v1.29.9
    

Déployer l’application

Un fichier manifeste Kubernetes définit un état souhaité pour le cluster, comme les images conteneur à exécuter. Dans ce guide de démarrage rapide, vous utilisez un fichier manifeste pour créer tous les objets nécessaires à l’exécution de l’exemple d’application ASP.NET dans un conteneur Windows Server. Ce fichier manifeste inclut un déploiement Kubernetes pour l’exemple d’application ASP.NET et un service Kubernetes externe pour accéder à l’application depuis Internet.

L’exemple d’application ASP.NET est fourni dans le cadre des Exemples .NET Framework et s’exécute dans un conteneur Windows Server. Le fichier manifeste Kubernetes doit également définir un sélecteur de nœud pour indiquer à votre cluster AKS d’exécuter le pod de votre exemple d’application ASP.NET sur un nœud qui peut exécuter des conteneurs Windows Server.

  1. Créez un fichier nommé sample.yaml et copiez-y la définition YAML suivante.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: sample
      labels:
        app: sample
    spec:
      replicas: 1
      template:
        metadata:
          name: sample
          labels:
            app: sample
        spec:
          nodeSelector:
            "kubernetes.io/os": windows
          containers:
          - name: sample
            image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp
            resources:
              limits:
                cpu: 1
                memory: 800M
            ports:
              - containerPort: 80
      selector:
        matchLabels:
          app: sample
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: sample
    spec:
      type: LoadBalancer
      ports:
      - protocol: TCP
        port: 80
      selector:
        app: sample
    

    Pour obtenir une décomposition des fichiers manifeste YAML, consultez Déploiements et manifestes YAML.

    Si vous créez et que vous enregistrez le fichier YAML localement, vous pouvez charger le fichier manifeste dans votre répertoire par défaut dans CloudShell en sélectionnant le bouton Charger/télécharger des fichiers, puis en sélectionnant le fichier dans votre système de fichiers local.

  2. Déployez l’application à l’aide de la commande kubectl apply et spécifiez le nom de votre manifeste YAML.

    kubectl apply -f sample.yaml
    

    L’exemple de sortie suivant montre que le déploiement et le service ont été correctement créés :

    deployment.apps/sample created
    service/sample 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. Parfois, le provisionnement du service peut prendre plus de quelques minutes. Prévoyez 10 minutes tout au plus.

  1. Vérifiez l'état des pods déployés à l'aide de la commande kubectl get pods. Assurez-vous que tous les pods sont Running avant de continuer.

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

    kubectl get service sample --watch
    

    Dans un premier temps, la valeur pending (en attente) s’affiche pour EXTERNAL-IP dans la sortie de l’exemple de service :

    NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
    sample             LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s
    
  3. 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.

  4. Pour découvrir l’exemple d’application en action, accédez à l’adresse IP externe de votre service dans un navigateur web.

    Capture d’écran de la navigation vers l’exemple d’application ASP.NET.

Supprimer des ressources

Si vous ne prévoyez pas d’étudier le Didacticiel AKS, vous devriez supprimer votre cluster pour éviter de vous exposer à des frais Azure.

  1. Dans le portail Azure, accédez à votre groupe de ressources.

  2. Sélectionnez Supprimer le groupe de ressources.

  3. Entrez le nom de votre groupe de ressources à confirmer, puis sélectionnez Supprimer.

  4. Dans la boîte de dialogue de confirmation de la suppression, sélectionnez Supprimer.

    Notes

    Le cluster AKS a été créé avec une identité managée affectée par le système (option d’identité par défaut utilisée dans ce guide de démarrage rapide), cette identité est gérée par la plateforme et ne nécessite pas de suppression.

Étapes suivantes

Dans ce démarrage rapide, vous avez déployé un cluster Kubernetes puis déployé un exemple d’application ASP.NET dans un conteneur Windows Server vers ce cluster. Cet exemple d’application est fourni à des fins de version de démonstration uniquement et ne représente pas toutes les meilleures pratiques pour les applications Kubernetes. Pour obtenir des conseils sur la création de solutions complètes avec AKS pour la production, consultez Conseils pour les solutions AKS.

Pour en savoir plus sur AKS et étudier un exemple complet code-à-déploiement, passez au didacticiel sur le cluster Kubernetes.