Partager via


Démarrage rapide : créer un cluster automatique Azure Kubernetes Service (AKS)

S’applique à : ✔️ AKS Automatic

Azure Kubernetes Service (AKS) Automatic offre l’expérience Kubernetes managée la plus simple pour les développeurs, les ingénieurs DevOps et les ingénieurs de plateforme. Idéal pour les applications modernes et d’IA, AKS Automatic automatise l’installation et les opérations des clusters AKS et incorpore les configurations de bonnes pratiques. Quel que soit leur niveau de compétence, les utilisateurs peuvent tirer parti de la sécurité, des performances et de la fiabilité d’AKS Automatic pour leurs applications. AKS Automatic inclut également un SLA de préparation des pods qui garantit que 99,9 % des opérations de préparation des pods se terminent en moins de 5 minutes, assurant ainsi une infrastructure fiable et auto-guérissante pour vos applications.

Dans ce guide de démarrage rapide, vous allez apprendre à :

  • Déployez un cluster AKS Automatic.
  • Exécutez un exemple d’application multiconteneur avec un groupe de microservices et de serveurs web frontaux simulant un scénario de vente au détail.

Avant de commencer

  • Cet article nécessite la version 2.77.0 ou ultérieure de l’interface de ligne de commande Azure. Si vous utilisez Azure Cloud Shell, la dernière version est déjà installée.
  • Si vous avez plusieurs abonnements Azure, sélectionnez l’ID d’abonnement approprié dans lequel les ressources doivent être facturées avec la commande az account set.
  • Pour déployer un fichier Bicep, vous devez disposer d’un accès en écriture aux ressources que vous créez et d’un accès à toutes les opérations sur le type de ressource Microsoft.Resources/deployments. Par exemple, pour créer une machine virtuelle, vous avez besoin des autorisations Microsoft.Compute/virtualMachines/write et Microsoft.Resources/deployments/*. Pour obtenir la liste des rôles et autorisations, consultez Rôles intégrés Azure.

Limites

  • Le pool de nœuds système des clusters automatiques AKS nécessite un déploiement dans les régions Azure qui prennent en charge au moins trois zones de disponibilité, un disque de système d’exploitation éphémère et un système d’exploitation Linux Azure.
  • Vous ne pouvez créer des clusters automatiques AKS que dans les régions où l'intégration API Server VNet est généralement disponible (GA).

Important

AKS Automatic tente de sélectionner dynamiquement une taille de machine virtuelle pour le system pool de nœuds en fonction de la capacité disponible dans l’abonnement. Assurez-vous que votre abonnement dispose d'un quota pour 16 vCPUs de l'une des tailles suivantes dans la région dans laquelle vous déployez le cluster : Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6, or Standard_D4alds_v5. Vous pouvez afficher les quotas de familles de machines virtuelles spécifiques et envoyer des demandes d’augmentation de quota via le portail Azure. Si vous avez des questions supplémentaires, découvrez-en davantage dans la documentation de résolution des problèmes.

Créer un groupe de ressources

Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées.

L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

Créez un groupe de ressources à l’aide de la commande az group create.

az group create --name myResourceGroup --location eastus

L'exemple de sortie suivant illustre la création réussie du groupe de ressources :

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Créer un cluster AKS Automatic

Pour créer un cluster automatique AKS, utilisez la commande az aks create. L’exemple suivant crée un cluster nommé myAKSAutomaticCluster avec l’intégration de Managed Prometheus et Container Insights activée.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSAutomaticCluster \
    --sku automatic

Au bout de quelques minutes, la commande se termine et retourne des informations au format JSON sur le cluster.

Se connecter au cluster

Pour gérer un cluster Kubernetes, utilisez kubectl, le client de ligne de commande Kubernetes. kubectl est déjà installé si vous utilisez Azure Cloud Shell. Pour installer kubectl localement, exécutez la commande az aks install-cli. Les clusters AKS Automatic sont configurés avec Microsoft Entra ID pour le contrôle d’accès en fonction du rôle (RBAC) Kubernetes.

Remarque

Lorsque vous créez un cluster à l’aide d’Azure CLI, votre utilisateur se voit attribuer des rôles intégrés pour Azure Kubernetes Service RBAC Cluster Admin.

Configurez kubectl pour se connecter à votre cluster Kubernetes à l’aide de la commande az aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.

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

Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get. Cette commande renvoie la liste des nœuds de cluster.

kubectl get nodes

L’exemple de sortie suivant montre comment vous êtes invité à vous connecter.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Une fois connecté, l’exemple de sortie suivant montre les pools de nœuds système managés. Assurez-vous que l’état du nœud est Prêt.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Créer un cluster Kubernetes automatique

  1. Pour créer un cluster AKS Automatic, recherchez Kubernetes Services, puis sélectionnez Cluster Kubernetes Automatic dans les options de la liste déroulante.

    Capture d’écran du point d’entrée pour créer un cluster AKS Automatic dans le portail Azure.

  2. Dans l'onglet Bases, remplissez tous les champs obligatoires (Abonnement, Groupe de ressources, Nom du cluster Kubernetes et Région) requis pour commencer :

    Capture d’écran de l’onglet Créer – Informations de base pour un cluster AKS Automatic dans le portail Azure.

  3. Sous l’onglet Surveillance , choisissez vos configurations de supervision dans Azure Monitor, Prometheus managé, Grafana Dashboards, Container Network Observability (ACNS) et/ou configurez des alertes. Activez Managed Grafana (facultatif), ajoutez des balises (facultatif) et procédez à la création du cluster.

    Capture d’écran de l’onglet Supervision lors de la création d’un cluster AKS Automatic dans le portail Azure.

  4. Sous l’onglet Avancé , mettez à jour vos paramètres de mise en réseau (facultatif), d’identité managée (facultatif), de sécurité et d’espaces de noms managés (facultatif) et passez à la création du cluster.

    Capture d’écran de l’onglet Avancé lors de la création d’un cluster automatique AKS dans le portail Azure.

  5. Commencez à configurer votre première application à partir de GitHub et définissez un pipeline de déploiement automatisé.

    Capture d’écran de l’onglet Démarrage dans le panneau Vue d’ensemble après la création d’un cluster AKS Automatic dans le portail Azure.

Se connecter au cluster

Pour gérer un cluster Kubernetes, utilisez kubectl, le client de ligne de commande Kubernetes. kubectl est déjà installé si vous utilisez Azure Cloud Shell. Pour installer kubectl en local, exécutez la commande az aks install-cli. Les clusters AKS Automatic sont configurés avec Microsoft Entra ID pour le contrôle d’accès en fonction du rôle (RBAC) Kubernetes. Lorsque vous créez un cluster à l’aide du portail Azure, votre utilisateur se voit attribuer des rôles intégrés pour Azure Kubernetes Service RBAC Cluster Admin.

Configurez kubectl pour se connecter à votre cluster Kubernetes à l’aide de la commande az aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.

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

Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get. Cette commande renvoie la liste des nœuds de cluster.

kubectl get nodes

L’exemple de sortie suivant montre comment vous êtes invité à vous connecter.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Une fois connecté, l’exemple de sortie suivant montre les pools de nœuds système managés. Assurez-vous que l’état du nœud est Prêt.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Créer un groupe de ressources

Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées. Lorsque vous créez un groupe de ressources, vous êtes invité à spécifier un emplacement. Cet emplacement est l'emplacement de stockage des métadonnées de votre groupe de ressources et l'endroit où vos ressources s'exécutent dans Azure si vous ne spécifiez pas une autre région lors de la création de la ressource.

L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

Créez un groupe de ressources à l’aide de la commande az group create.

az group create --name myResourceGroup --location eastus

L'exemple de sortie suivant illustre la création réussie du groupe de ressources :

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Examiner le fichier Bicep

Ce fichier Bicep définit un cluster AKS Automatic. Dans la préversion, vous devez spécifier le profil du pool d’agents de pool de nœuds système.

@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
  name: clusterName
  location: location  
  sku: {
	name: 'Automatic'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        mode: 'System'
	count: 3
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Pour plus d’informations sur la ressource définie dans le fichier Bicep, consultez la référence Microsoft.ContainerService/managedClusters.

Déployer le fichier Bicep

  1. Enregistrez le fichier Bicep en tant que main.bicep sur votre ordinateur local.

    Important

    Le fichier Bicep définit le paramètre clusterName sur la chaîne myAKSAutomaticCluster. Si vous souhaitez utiliser un autre nom de cluster, mettez à jour la chaîne avec votre nom de cluster préféré avant d’enregistrer le fichier sur votre ordinateur.

  2. Déployez le fichier Bicep en utilisant l’interface Azure CLI.

    az deployment group create --resource-group myResourceGroup --template-file main.bicep
    

    La création du cluster AKS ne prend que quelques minutes. Attendez que le cluster soit déployé avec succès avant de passer à l’étape suivante.

Se connecter au cluster

Pour gérer un cluster Kubernetes, utilisez kubectl, le client de ligne de commande Kubernetes. kubectl est déjà installé si vous utilisez Azure Cloud Shell. Pour installer kubectl en local, exécutez la commande az aks install-cli. Les clusters AKS Automatic sont configurés avec Microsoft Entra ID pour le contrôle d’accès en fonction du rôle (RBAC) Kubernetes.

Important

Lorsque vous créez un cluster à l’aide de Bicep, vous devez affecter l’un des rôles intégrés tels que Azure Kubernetes Service RBAC Reader, , Azure Kubernetes Service RBAC Writerou Azure Kubernetes Service RBAC AdminAzure Kubernetes Service RBAC Cluster Admin à vos utilisateurs, délimités au cluster ou à un espace de noms spécifique, par exemple à l’aide az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.comde . Assurez-vous aussi que vos utilisateurs ont le rôle intégré Azure Kubernetes Service Cluster User pour pouvoir exécuter az aks get-credentials, puis obtenez l’attribut kubeconfig de votre cluster AKS en utilisant la commande az aks get-credentials.

Configurez kubectl pour se connecter à votre cluster Kubernetes à l’aide de la commande az aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.

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

Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get. Cette commande renvoie la liste des nœuds de cluster.

kubectl get nodes

L’exemple de sortie suivant montre comment vous êtes invité à vous connecter.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Une fois connecté, l’exemple de sortie suivant montre les pools de nœuds système managés. Assurez-vous que l’état du nœud est Prêt.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Déployer l’application

Pour déployer l'application, vous utilisez un fichier manifeste pour créer tous les objets nécessaires à l'exécution de l'application AKS Store. Un fichier manifeste Kubernetes définit un état souhaité d’un cluster, notamment les images conteneur à exécuter. Le manifeste inclut les déploiements et services Kubernetes suivants :

Capture d’écran de l’architecture d’exemple Azure Store.

  • Vitrine : application web permettant aux clients d’afficher les produits et de passer des commandes.
  • Service de produit : affiche les informations sur le produit.
  • Service de commande : passe des commandes.
  • Rabbit MQ : file d’attente de messages pour une file d’attente de commandes.

Remarque

Nous ne recommandons pas l'exécution de conteneurs avec état, comme Rabbit MQ, sans stockage persistant pour la production. Ils sont utilisés ici pour des raisons de simplicité, mais nous vous recommandons d’utiliser des services managés, comme Azure CosmosDB ou Azure Service Bus.

  1. Créez un espace de noms aks-store-demo pour y déployer les ressources Kubernetes.

    kubectl create ns aks-store-demo
    
  2. Déployez l’application à l’aide de la commande kubectl apply dans l’espace de noms aks-store-demo. Le fichier YAML définissant le déploiement se trouve sur GitHub.

    kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
    

    L'exemple de sortie suivant montre les déploiements et les services :

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    ingress/store-front created
    

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

  1. Vérifiez l’état des pods déployés à l’aide de la commande kubectl get pods. Vérifiez que tous les pods sont Running avant de continuer. S’il s’agit de la première charge de travail que vous déployez, l’approvisionnement automatique de nœuds peut prendre quelques minutes pour créer un pool de nœuds visant à exécuter les pods.

    kubectl get pods -n aks-store-demo
    
  2. Recherchez une adresse IP publique pour l'application de vitrine. Surveillez la progression avec la commande kubectl get service et l’argument --watch.

    kubectl get ingress store-front -n aks-store-demo --watch
    

    La sortie ADDRESS pour le service store-front n’affiche rien initialement :

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Une fois qu’ADDRESS passe de rien à une adresse IP publique réelle, 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 :

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Ouvrez un navigateur web à l’adresse IP externe de votre entrée pour voir l’application Azure Store en action.

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

Supprimer le cluster

Pour éviter les frais Azure, si vous ne prévoyez pas de suivre le Tutoriel AKS, nettoyez vos ressources inutiles. Exécutez la commande az group delete pour supprimer le groupe de ressources, le service conteneur ainsi que toutes les ressources associées.

az group delete --name myResourceGroup --yes --no-wait

Remarque

Le cluster AKS a été créé avec une identité managée affectée par le système, qui est l’option d’identité par défaut utilisée dans ce guide de démarrage rapide. La plateforme gère cette identité pour vous éviter de devoir la supprimer manuellement.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez déployé un cluster Kubernetes avec AKS Automatic, puis vous y avez déployé une application multiconteneur simple. 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 Automatic, passez à la présentation.