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).
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans 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 finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec 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 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.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-preview
3.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 autorisationsMicrosoft.Compute/virtualMachines/write
etMicrosoft.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
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
Pour créer un cluster AKS Automatic, recherchez Kubernetes Services, puis sélectionnez Cluster Kubernetes Automatic dans les options de la liste déroulante.
Sous l’onglet Informations de base, renseignez tous les champs obligatoires pour commencer : Abonnement, Groupe de ressources, Nom du cluster et Région
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 :
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.
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. 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
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.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 :
- 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-demo
pour y déployer les ressources Kubernetes.kubectl create ns aks-store-demo
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.
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
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
Une fois qu’ADDRESS passe de rien à une adresse IP publique réelle, utilisez
CTRL-C
pour 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 12m
Ouvrez 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.
Azure Kubernetes Service