Partager via


Démarrage rapide : Déployer un cluster Azure Kubernetes Service (AKS) Automatic (préversion)

S’applique à : ✔️ AKS Automatic (préversion)

Azure Kubernetes Service (AKS) Automatic (préversion) offre l’expérience Kubernetes managée la plus facile qui existe aux développeurs, ingénieurs DevOps et 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.

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

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

  • Cet article nécessite la version 2.57.0 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, sachez que la dernière version y est déjà installée.

  • Cet article nécessite la version d’extension Azure CLI aks-preview3.0.0b13 ou ultérieure.

  • Si vous avez plusieurs abonnements Azure, sélectionnez l’identifiant d’abonnement approprié dans lequel les ressources doivent être facturées avec la commande az account set.

  • Enregistrer la fonctionnalité AutomaticSKUPreview dans votre abonnement Azure.

  • L’identité qui crée le cluster doit également disposer des autorisations suivantes sur l’abonnement :

    • Microsoft.Authorization/policyAssignments/write
    • Microsoft.Authorization/policyAssignments/read

Important

Vérifiez que votre abonnement dispose d’un quota de 24 processeurs virtuels de la machine virtuelle Standard_DS4_v2 pour la région sur laquelle vous déployez le cluster. Vous pouvez afficher les quotas de familles de machines virtuelles spécifiques et envoyer des demandes d’augmentation de quota via le portail Azure. .png

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

Installer l’extension Azure CLI aks-preview

Important

Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les préversions sont fournies « en l’état » et « en fonction des disponibilités », et sont exclues des contrats de niveau de service et de la garantie limitée. Les préversions AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Telles quelles, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :

Exécutez la commande suivante pour installer l’extension aks-preview :

az extension add --name aks-preview

Exécutez la commande suivante pour effectuer la mise à jour vers la dernière version de l’extension publiée :

az extension update --name aks-preview

Inscrire les indicateurs de fonctionnalités

Pour utiliser AKS Automatic en préversion, vous devez inscrire des indicateurs de fonctionnalités pour les autres fonctionnalités requises. Inscrivez les indicateurs suivants à l’aide de la commande az feature register.

az feature register --namespace Microsoft.ContainerService --name EnableAPIServerVnetIntegrationPreview
az feature register --namespace Microsoft.ContainerService --name NRGLockdownPreview
az feature register --namespace Microsoft.ContainerService --name SafeguardsPreview
az feature register --namespace Microsoft.ContainerService --name NodeAutoProvisioningPreview
az feature register --namespace Microsoft.ContainerService --name DisableSSHPreview
az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview

Vérifiez l’état de l’inscription à l’aide de la commande az feature show. Quelques minutes sont nécessaires pour que l’état affiche Inscrit :

az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview

Une fois que l’état reflète Inscrit, actualisez l’inscription du fournisseur de ressources Microsoft.ContainerService à l’aide de la commande az provider register :

az provider register --namespace Microsoft.ContainerService

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 avec la commande az group create.

az group create --name myResourceGroup --location eastus

L’exemple de sortie suivant montre 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 AKS Automatic, 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 \
    --generate-ssh-keys

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. Si vous utilisez Azure Cloud Shell, kubectl est déjà installé. 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 d’Azure CLI, votre utilisateur se voit attribuer des rôles intégrés pour Azure Kubernetes Service RBAC Cluster Admin.

Configurez kubectl afin de vous connecter à votre cluster Kubernetes avec 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 que vous êtes connecté, l’exemple de sortie suivant montre les pools de nœuds managés créés aux étapes précédentes. Assurez-vous que l’état du nœud est Prêt.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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 Automatic

  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. Sous l’onglet Informations de base, renseignez tous les champs obligatoires pour commencer : Abonnement, Groupe de ressources, Nom du cluster et Région

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

    Si les prérequis ne sont pas satisfaits et que l’abonnement nécessite l’inscription des indicateurs de préversion, une erreur s’affiche sous le champ Abonnement :

    Capture d’écran de l’erreur affichée lorsqu’un abonnement n’a pas d’indicateur de préversion inscrit lors de la création d’un cluster AKS Automatic dans le portail Azure.

  3. Sous l’onglet Supervision, choisissez vos configurations de supervision à partir d’Azure Monitor, de Managed Prometheus, de Managed Grafana et/ou configurez des alertes. Ajoutez des étiquettes (facultatif) et poursuivez 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. 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. Si vous utilisez Azure Cloud Shell, kubectl est déjà installé. 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 afin de vous connecter à votre cluster Kubernetes avec 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 que vous êtes connecté, l’exemple de sortie suivant montre les pools de nœuds managés créés aux étapes précédentes. Assurez-vous que l’état du nœud est Prêt.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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 avec la commande az group create.

az group create --name myResourceGroup --location eastus

L’exemple de sortie suivant montre 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'
  		tier: 'Standard'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        count: 3
        vmSize: 'Standard_DS4_v2'
        osType: 'Linux'
        mode: 'System'
      }
    ]
  }
  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 correctement déployé pour passer à l’étape suivante.

Se connecter au cluster

Pour gérer un cluster Kubernetes, utilisez kubectl, le client de ligne de commande Kubernetes. Si vous utilisez Azure Cloud Shell, kubectl est déjà installé. 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 de Bicep, vous devez attribuer l’un des rôles intégrés, tels que Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admin ou Azure Kubernetes Service RBAC Cluster Admin, à vos utilisateurs, délimités au cluster ou à un espace de noms spécifique. 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 afin de vous connecter à votre cluster Kubernetes avec 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 que vous êtes connecté, l’exemple de sortie suivant montre les pools de nœuds managés créés aux étapes précédentes. Assurez-vous que l’état du nœud est Prêt.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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 en utilisant 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
    

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.

  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.