Démarrage rapide : déployer un cluster AKS (Azure Kubernetes Service) à l’aide du portail AzureQuickstart: Deploy an Azure Kubernetes Service (AKS) cluster using the Azure portal

AKS (Azure Kubernetes Service) est un service Kubernetes managé qui vous permet de déployer et de gérer rapidement des clusters.Azure Kubernetes Service (AKS) is a managed Kubernetes service that lets you quickly deploy and manage clusters. Dans ce guide de démarrage rapide, vous allez déployer un cluster AKS à l’aide du portail Azure.In this quickstart, you deploy an AKS cluster using the Azure portal. Une application multiconteneur composée d’un front-end web et d’une instance Redis est exécutée dans le cluster.A multi-container application that includes a web front end and a Redis instance is run in the cluster. Vous pouvez ainsi voir comment superviser l’intégrité du cluster et des pods qui exécutent votre application.You then see how to monitor the health of the cluster and pods that run your application.

Image de la navigation vers l’exemple d’application Azure Vote

Ce guide de démarrage rapide suppose une compréhension élémentaire des concepts liés à Kubernetes.This quickstart assumes a basic understanding of Kubernetes concepts. Pour plus d’informations, consultez Concepts de base de Kubernetes pour AKS (Azure Kubernetes Service.For more information, see Kubernetes core concepts for Azure Kubernetes Service (AKS).

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Connexion à AzureSign in to Azure

Connectez-vous au portail Azure sur https://portal.azure.com.Sign in to the Azure portal at https://portal.azure.com.

Créer un cluster AKSCreate an AKS cluster

Pour créer un cluster AKS, exécutez les étapes suivantes :To create an AKS cluster, complete the following steps:

  1. Dans le menu du Portail Azure ou dans la page Accueil, sélectionnez Créer une ressource.On the Azure portal menu or from the Home page, select Create a resource.

  2. Sélectionnez Conteneurs > Kubernetes Service.Select Containers > Kubernetes Service.

  3. Sur la page Bases, configurez les options suivantes :On the Basics page, configure the following options:

    • Détails du projet : Choisissez un abonnement Azure, puis sélectionnez ou créez un groupe de ressources Azure, comme myResourceGroup.Project details: Select an Azure Subscription, then select or create an Azure Resource group, such as myResourceGroup.
    • Détails du cluster : Entrez un nom du cluster Kubernetes, tel que myAKSCluster.Cluster details: Enter a Kubernetes cluster name, such as myAKSCluster. Sélectionnez une Région, une version de Kubernetes et le préfixe du nom DNS du cluster AKS.Select a Region, Kubernetes version, and DNS name prefix for the AKS cluster.
    • Pool de nœuds principal : Sélectionnez une taille de nœud de machine virtuelle pour les nœuds AKS.Primary node pool: Select a VM Node size for the AKS nodes. Elle ne sera pas modifiable une fois le cluster AKS déployé.The VM size can't be changed once an AKS cluster has been deployed. - Sélectionnez également le nombre de nœuds à déployer dans le cluster.- Select the number of nodes to deploy into the cluster. Pour effectuer ce démarrage rapide, définissez le Nombre de nœuds à 1.For this quickstart, set Node count to 1. Le nombre de nœuds est modifiable après le déploiement du cluster.Node count can be adjusted after the cluster has been deployed.

    Créer un cluster AKS - fournir des informations de base

    Sélectionnez Suivant : Mettre à l’échelle lorsque vous avez terminé.Select Next: Scale when complete.

  4. Sur la page Mise à l’échelle, conservez les options par défaut.On the Scale page, keep the default options. Au bas de la page, cliquez sur Suivant : Authentification.At the bottom of the screen, click Next: Authentication.

    Attention

    La propagation et la mise en disponibilité des nouveaux principaux de service AAD créés peuvent prendre plusieurs minutes, ce qui entraîne des erreurs « Principal du service introuvable » et des échecs de validation dans le portail Azure.Creating new AAD Service Principals may take multiple minutes to propagate and become available causing Service Principal not found errors and validation failures in Azure portal. Si vous rencontrez ce problème, consultez ceci pour obtenir des solutions de contournement.If you hit this please visit here for mitigations.

  5. Sur la page Authentification, configurez les options suivantes :On the Authentication page, configure the following options:

    • Créez un principal de service en laissant dans le champ Principal du Service (nouveau) le principal du service par défaut.Create a new service principal by leaving the Service Principal field with (new) default service principal. Ou vous pouvez choisir Configurer un principal du service pour utiliser un principal existant.Or you can choose Configure service principal to use an existing one. Si vous utilisez un principal du service existant, vous devez indiquer l’ID client SPN et le secret associés.If you use an existing one, you will need to provide the SPN client ID and secret.
    • Activez l’option pour les contrôles d’accès en fonction des rôles Kubernetes (RBAC).Enable the option for Kubernetes role-based access controls (RBAC). Ces options fournissent un contrôle plus précis sur l’accès aux ressources Kubernetes déployées dans votre cluster AKS.This will provide more fine-grained control over access to the Kubernetes resources deployed in your AKS cluster.

Par défaut, le réseau De base est utilisé et Azure Monitor pour conteneurs est activé.By default, Basic networking is used, and Azure Monitor for containers is enabled. Cliquez sur Vérifier + créer, puis Créer lorsque la validation est terminée.Click Review + create and then Create when validation completes.

La création du cluster AKS ne prend que quelques minutes.It takes a few minutes to create the AKS cluster. Une fois votre déploiement terminé, cliquez sur Accédez à la ressource ou accédez au groupe de ressources du cluster AKS, par exemple myResourceGroup, puis sélectionnez la ressource AKS, par exemple myAKSCluster.When your deployment is complete, click Go to resource, or browse to the AKS cluster resource group, such as myResourceGroup, and select the AKS resource, such as myAKSCluster. Le tableau de bord du cluster AKS s’affiche, comme dans l’exemple suivant :The AKS cluster dashboard is shown, as in this example:

Exemple de tableau de bord AKS dans le portail Azure

Connexion au clusterConnect to the cluster

Pour gérer un cluster Kubernetes, vous utilisez kubectl, le client de ligne de commande Kubernetes.To manage a Kubernetes cluster, you use kubectl, the Kubernetes command-line client. Le client kubectl est préinstallé dans Azure Cloud Shell.The kubectl client is pre-installed in the Azure Cloud Shell.

Ouvrez Cloud Shell à l’aide du bouton >_ situé en haut du portail Azure.Open Cloud Shell using the >_ button on the top of the Azure portal.

Ouvrez Azure Cloud Shell dans le portail

Pour configurer kubectl afin de vous connecter à votre cluster Kubernetes, exécutez la commande az aks get-credentials.To configure kubectl to connect to your Kubernetes cluster, use the az aks get-credentials command. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.This command downloads credentials and configures the Kubernetes CLI to use them. L’exemple suivant obtient les informations d’identification du nom du cluster myAKSCluster dans le groupe de ressources nommé myResourceGroup :The following example gets credentials for the cluster name myAKSCluster in the resource group named myResourceGroup:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Pour vérifier la connexion à votre cluster, utilisez la commande kubectl get pour retourner une liste des nœuds du cluster.To verify the connection to your cluster, use the kubectl get command to return a list of the cluster nodes.

kubectl get nodes

L’exemple de sortie suivant montre le nœud unique créé au cours des étapes précédentes.The following example output shows the single node created in the previous steps. Vérifiez que l’état du nœud est Ready :Make sure that the status of the node is Ready:

NAME                       STATUS    ROLES     AGE       VERSION
aks-agentpool-14693408-0   Ready     agent     15m       v1.11.5

Exécution de l'applicationRun the application

Un fichier manifeste Kubernetes définit un état souhaité pour le cluster, notamment les images conteneur à exécuter.A Kubernetes manifest file defines a desired state for the cluster, such as what container images to run. Dans ce guide de démarrage rapide, un manifeste est utilisé afin de créer tous les objets nécessaires pour l’exécution de l’application Azure Vote.In this quickstart, a manifest is used to create all objects needed to run the Azure Vote application. Ce manifeste inclut deux déploiements Kubernetes : un pour les exemples d’applications Azure Vote Python et l’autre pour une instance Redis.This manifest includes two Kubernetes deployments - one for the sample Azure Vote Python applications, and the other for a Redis instance. Deux services Kubernetes sont également créés : un service interne pour l’instance Redis et un service externe pour accéder à l’application Azure Vote à partir d’Internet.Two Kubernetes Services are also created - an internal service for the Redis instance, and an external service to access the Azure Vote application from the internet.

Conseil

Dans ce guide de démarrage rapide, vous créez et déployez manuellement vos manifestes d’application sur le cluster AKS.In this quickstart, you manually create and deploy your application manifests to the AKS cluster. Dans des scénarios plus probables, vous pouvez utiliser Azure Dev Spaces pour itérer et déboguer votre code rapidement, directement dans le cluster AKS.In more real-world scenarios, you can use Azure Dev Spaces to rapidly iterate and debug your code directly in the AKS cluster. Vous pouvez utiliser les espaces Dev Spaces sur des plateformes de système d’exploitation ainsi que des environnements de développement et collaborer avec les autres personnes de votre équipe.You can use Dev Spaces across OS platforms and development environments, and work together with others on your team.

Dans l’interpréteur de commandes cloud, utilisez nano ou vi pour créer un fichier nommé azure-vote.yaml et copiez-y la définition YAML suivante :In the cloud shell, use nano or vi to create a file named azure-vote.yaml and copy in the following YAML definition:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-back
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-back
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: azure-vote-back
        image: redis
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 6379
          name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-back
spec:
  ports:
  - port: 6379
  selector:
    app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-front
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-front
  template:
    metadata:
      labels:
        app: azure-vote-front
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: azure-vote-front
        image: microsoft/azure-vote-front:v1
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 80
        env:
        - name: REDIS
          value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-front
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: azure-vote-front

Déployez l’application à l’aide de la commande kubectl apply et spécifiez le nom de votre manifeste YAML :Deploy the application using the kubectl apply command and specify the name of your YAML manifest:

kubectl apply -f azure-vote.yaml

L’exemple de sortie suivant montre que les déploiements et les ressources ont été créés correctement :The following example output shows the Deployments and Services created successfully:

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

Test de l’applicationTest the application

Quand l’application s’exécute, un service Kubernetes expose le front-end de l’application sur Internet.When the application runs, a Kubernetes service exposes the application front end to the internet. L’exécution de ce processus peut prendre plusieurs minutes.This process can take a few minutes to complete.

Pour surveiller la progression, utilisez la commande kubectl get service avec l’argument --watch.To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

Dans un premier temps, la valeur EXTERNAL-IP du service azure-vote-front apparaît comme étant en attente (pending).Initially the EXTERNAL-IP for the azure-vote-front service is shown as pending.

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s

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.When the EXTERNAL-IP address changes from pending to an actual public IP address, use CTRL-C to stop the kubectl watch process. L’exemple de sortie suivant montre une adresse IP publique valide affectée au service :The following example output shows a valid public IP address assigned to the service:

azure-vote-front   LoadBalancer   10.0.37.27   52.179.23.131   80:30572/TCP   2m

Pour voir l’application Azure Vote en action, ouvrez un navigateur web en utilisant l’adresse IP externe de votre service.To see the Azure Vote app in action, open a web browser to the external IP address of your service.

Image de la navigation vers l’exemple d’application Azure Vote

Analyser le fonctionnement et les journaux d’activitéMonitor health and logs

Azure Monitor pour conteneurs a été activé quand vous avez créé le cluster.When you created the cluster, Azure Monitor for containers was enabled. Cette fonctionnalité de surveillance fournit des indicateurs d’intégrité pour le cluster AKS et les pods en cours d’exécution sur le cluster.This monitoring feature provides health metrics for both the AKS cluster and pods running on the cluster.

Ces données s’afficheront sur le Portail Azure au bout de quelques minutes.It may take a few minutes for this data to populate in the Azure portal. Pour afficher l’état actuel, la durée de fonctionnement et l’utilisation des ressources pour les pods Azure Vote, accédez à la ressource AKS dans le portail Azure, comme myAKSCluster.To see current status, uptime, and resource usage for the Azure Vote pods, browse back to the AKS resource in the Azure portal, such as myAKSCluster. Vous pouvez alors accéder à l’état d’intégrité en procédant comme suit :You can then access the health status as follows:

  1. Sous Supervision à gauche, choisissez Insights.Under Monitoring on the left-hand side, choose Insights
  2. Dans la partie supérieure, choisissez + Ajouter un filtre.Across the top, choose to + Add Filter
  3. Sélectionnez Espace de noms en guise de propriété, puis choisissez <Tout sauf kube-system> .Select Namespace as the property, then choose <All but kube-system>
  4. Choisissez de visualiser les Conteneurs.Choose to view the Containers.

Les conteneurs azure-vote-back et azure-vote-front s’affichent, comme illustré dans l’exemple suivant :The azure-vote-back and azure-vote-front containers are displayed, as shown in the following example:

Afficher l’intégrité des conteneurs en cours d’exécution dans AKS

Pour visualiser les journaux relatifs au pod azure-vote-front, sélectionnez Afficher les journaux du conteneur dans la liste déroulante de conteneurs.To see logs for the azure-vote-front pod, select the View container logs from the drop down of the containers list. Vous pourrez voir les flux stdout et stderr du conteneur.These logs include the stdout and stderr streams from the container.

Afficher les journaux d’activité de conteneurs dans AKS

Supprimer un clusterDelete cluster

Dès vous n’avez plus besoin du cluster, supprimez la ressource de cluster : toutes les ressources associées seront ainsi supprimées.When the cluster is no longer needed, delete the cluster resource, which deletes all associated resources. Vous pouvez effectuer cette opération sur le Portail Azure en cliquant sur le bouton Supprimer du tableau de bord du cluster AKS.This operation can be completed in the Azure portal by selecting the Delete button on the AKS cluster dashboard. Vous pouvez aussi exécuter la commande az aks delete dans Cloud Shell :Alternatively, the az aks delete command can be used in the Cloud Shell:

az aks delete --resource-group myResourceGroup --name myAKSCluster --no-wait

Notes

Lorsque vous supprimez le cluster, le principal de service Azure Active Directory utilisé par le cluster AKS n’est pas supprimé.When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. Pour obtenir des instructions sur la façon de supprimer le principal de service, consultez Considérations principales et suppression du principal de service AKS.For steps on how to remove the service principal, see AKS service principal considerations and deletion.

Obtenir le codeGet the code

Dans ce guide de démarrage rapide, des images conteneur créées au préalable ont été utilisées pour créer un déploiement Kubernetes.In this quickstart, pre-created container images were used to create a Kubernetes deployment. Le code de l’application associé, Dockerfile, et le fichier manifeste Kubernetes sont disponibles sur GitHub.The related application code, Dockerfile, and Kubernetes manifest file are available on GitHub.

https://github.com/Azure-Samples/azure-voting-app-redis

Étapes suivantesNext steps

Dans ce Démarrage rapide, vous avez déployé un cluster Kubernetes dans lequel vous avez déployé une application de plusieurs conteneurs.In this quickstart, you deployed a Kubernetes cluster and deployed a multi-container application to it.

Pour en savoir plus sur ACS et parcourir le code complet de l’exemple de déploiement, passez au tutoriel sur le cluster Kubernetes.To learn more about AKS, and walk through a complete code to deployment example, continue to the Kubernetes cluster tutorial.