Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- 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).
- AKS Automatic active Azure Policy sur votre cluster AKS, mais vous devez préinscrire le
Microsoft.PolicyInsightsfournisseur de ressources dans votre abonnement pour une expérience plus fluide. Pour plus d’informations, consultez les fournisseurs et types de ressources Azure .
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour obtenir plus d’informations, consultez Démarrage d’Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour terminer le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour obtenir d’autres options de connexion, consultez S’authentifier auprès d’Azure à l’aide d’Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser et gérer des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
- 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 autorisationsMicrosoft.Compute/virtualMachines/writeetMicrosoft.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
Pour créer un cluster AKS Automatic, recherchez Kubernetes Services, puis sélectionnez Cluster Kubernetes Automatic dans les options de la liste déroulante.
Dans l'onglet Bases, remplissez tous les champs obligatoires (Abonnement, Groupe de ressources, Nom du cluster Kubernetes et Région) requis pour commencer :
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.
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.
Commencez à configurer votre première application à partir de GitHub et définissez un pipeline de déploiement automatisé.
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
Enregistrez le fichier Bicep en tant que main.bicep sur votre ordinateur local.
Important
Le fichier Bicep définit le paramètre
clusterNamesur 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.Déployez le fichier Bicep en utilisant l’interface Azure CLI.
az deployment group create --resource-group myResourceGroup --template-file main.bicepLa 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 :
- 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.
Créez un espace de noms
aks-store-demopour y déployer les ressources Kubernetes.kubectl create ns aks-store-demoDéployez l’application à l’aide de la commande
kubectl applydans l’espace de nomsaks-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.yamlL'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.
Vérifiez l’état des pods déployés à l’aide de la commande kubectl get pods. Vérifiez que tous les pods sont
Runningavant 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-demoRecherchez 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 --watchLa sortie ADDRESS pour le service
store-frontn’affiche rien initialement :NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mUne fois qu’ADDRESS passe de rien à une adresse IP publique réelle, utilisez
CTRL-Cpour arrêter le processus de surveillancekubectl.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 12mOuvrez un navigateur web à l’adresse IP externe de votre entrée pour voir l’application Azure Store en action.
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.