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

S’applique à : ✔️ AKS Automatic

Azure Kubernetes Service (AKS) Automatique est une expérience Kubernetes managée qui automatise l’installation et les opérations du cluster AKS et incorpore les configurations de bonnes pratiques. AKS Automatic inclut également un [contrat SLA de préparation des pods][azure-sla] qui garantit 99,9% des opérations de préparation des pods éligibles dans les 5 minutes, garantissant une infrastructure fiable et auto-guérissante pour vos applications. Dans ce guide de démarrage rapide, vous apprenez à :

  • 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

  • Azure CLI version 2.86.0 ou ultérieure. Pour rechercher la version, exécutez az --version la commande. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
  • Si vous avez plusieurs abonnements Azure, sélectionnez l’ID d’abonnement approprié pour facturer les ressources à l’aide de la commande az account set.
  • Pour pouvoir déployer un fichier Bicep, vous devez avoir un accès en écriture aux ressources que vous créez, ainsi qu'un accès à toutes les opérations sur le type de ressource Microsoft.Resources/deployments. Par exemple, pour créer une machine virtuelle, vous devez disposer d’autorisations Microsoft.Compute/virtualMachines/write et Microsoft.Resources/deployments/*. Pour obtenir la liste des rôles et des autorisations, consultez Azure rôles intégrés.

Important

À partir d’AKS 1.36, les nouveaux clusters AKS Automatic activeront par défaut Kubernetes Gateway API via le module complémentaire de routage d’application au lieu de Managed NGINX ingress avec le module complémentaire de routage d’application, en raison de l’abandon en amont d’Ingress NGINX.

Les clusters automatiques existants ne sont pas affectés, mais doivent commencer la migration vers l’API kubernetes Gateway via le module complémentaire de routage d’application.

Limites

Les limitations suivantes s’appliquent aux clusters automatiques AKS :

  • AKS Automatic est généralement disponible dans les régions suivantes : australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus2, westus3.
    • Par défaut, les nouveaux clusters automatiques AKS activent les pools de nœuds système managés et LocalDNS. Vous ne pouvez pas créer de clusters automatiques AKS sans pools de nœuds système managés dans n’importe quelle région.
  • Le cluster automatique AKS est préconfiguré avec le verrouillage du groupe de ressources des nœuds, ce qui n’autorise pas les modifications du MC_ groupe de ressources et empêche les liens de réseau virtuel sur la zone DNS privée par défaut. Pour les scénarios DNS inter-réseaux virtuels ou personnalisés, utilisez un réseau personnalisé et un DNS privé en suivant Créer un cluster automatique de Azure Kubernetes Service (AKS) privé dans un réseau virtuel personnalisé.
  • Azure CLI version 2.86.0 ou ultérieure est requise. Pour rechercher la version, exécutez az --version la commande. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
  • Les extensions suivantes ne sont pas prises en charge :
  • Les nœuds Windows ne sont pas pris en charge.
  • La migration entre la référence SKU de base AKS et la référence SKU automatique n’est pas prise en charge.
  • Les migrations entre les clusters automatiques AKS sans pools de nœuds système managés et les clusters automatiques AKS avec des pools de nœuds système managés ne sont pas prises en charge.

Créer un groupe de ressources

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

Créez un groupe de ressources à l’aide de la commande az group create. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement canadacentral :

az group create --name myResourceGroup --location canadacentral

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

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

Créer un cluster AKS Automatic

Créez un cluster automatique AKS à l’aide de la az aks create commande avec le --sku paramètre défini sur automatic. L’exemple suivant crée un cluster nommé myAKSAutomaticCluster avec Prometheus managé et l’intégration Container Insights activée :

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

Une fois le déploiement terminé, la sortie affiche une hostedSystemProfile propriété avec la enabled propriété définie sur true. Vous pouvez également exécuter la commande suivante pour afficher les hostedSystemProfile propriétés :

az aks show \
  --resource-group myResourceGroup \
  --name myAKSAutomaticCluster \
  --query hostedSystemProfile
{
  "enabled": true,
  "nodeSubnetId": null,
  "systemNodeSubnetId": null
}

Créer un cluster Kubernetes automatique

  1. Pour créer un cluster automatique AKS, recherchez et sélectionnez les services Kubernetes. Vous accédez à la page Kubernetes Center (préversion).

  2. Dans la page Kubernetes Center (préversion), sélectionnez Créer un>cluster Kubernetes automatique.

     Capture d’écran du bouton Créer un cluster AKS automatique dans le portail Azure.

  3. Sous l’onglet Informations de base , renseignez tous les champs requis (Abonnement, Groupe de ressources, Nom du cluster Kubernetes et Région), puis sélectionnez Suivant.

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

  4. Sous l’onglet Monitoring, sélectionnez vos configurations de surveillance souhaitées dans Azure Monitor (Container Insights), Prometheus managé, Grafana Dashboards et Alertes, puis sélectionnez Next.

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

  5. Sous l’onglet Advanced, sélectionnez vos configurations avancées souhaitées Accès privé, Azure Mise en réseau virtuelle, Identité managée, Sécurité réseau de conteneur (ACNS) et Espaces de noms Kubernetes managés, puis sélectionnez Review + create.

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

  6. Passez en revue les configurations sous l’onglet Vérifier + créer , puis sélectionnez Créer pour déployer le cluster automatique AKS.

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

    Capture d’écran de l'onglet Prise en main dans la lame Vue d'ensemble après la création d'un cluster AKS automatique dans le portail Azure.

Réviser le fichier Bicep

Le fichier Bicep suivant définit un cluster automatique AKS :

@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@2026-02-01' ' = {
  name: clusterName
  location: location
  sku: {
    name: 'Automatic'
  }
  identity: {
    type: 'SystemAssigned'
  }
}

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

Déployer le fichier Bicep

  1. Enregistrez le fichier Bicep sous main.bicep sur votre ordinateur local.

    Important

    Le fichier Bicep définit le paramètre clusterName à 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 à l’aide de la commande [az deployment group create][az-deployment-group-create].

    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. Vous pouvez installer kubectl localement à l’aide de la az aks install-cli commande. Les clusters automatiques AKS sont configurés avec Microsoft Entra ID pour le contrôle d’accès en fonction du rôle Kubernetes (RBAC).

Remarque

Lorsque vous créez un cluster à l’aide d'Azure CLI, votre utilisateur se voit assigné les rôles intégrés pour .

  1. 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
    
  2. 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-hostedpool-16652789-vms1   Ready    <none>   19m   v1.34.7
    aks-hostedpool-16652789-vms2   Ready    <none>   19m   v1.34.7
    aks-hostedpool-16652789-vms3   Ready    <none>   19m   v1.34.7
    aks-system-surge-zq4d2         Ready    <none>   19m   v1.34.7
    

Déployer l’application

Pour déployer l’application, vous utilisez un fichier manifeste pour créer tous les objets requis pour exécuter 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 :

Screenshot de l’exemple d’architecture 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. Ceux-ci sont utilisés ici par souci de simplicité, mais nous vous recommandons d’utiliser des services managés, tels que Azure Cosmos DB 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 pour 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 sur l’adresse IP externe de votre entrée pour afficher l’application Azure Store en action.

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

Supprimer le cluster

Si vous ne prévoyez pas de passer par le didacticiel AKS, supprimez les ressources inutiles pour éviter les frais Azure.

Supprimez le groupe de ressources, le service conteneur et toutes les ressources associées à l’aide de la commande az group delete.

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.

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, consultez la Introduction pour Azure Kubernetes Service (AKS) Automatique