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) 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
- Ce guide de démarrage rapide suppose une compréhension élémentaire des concepts liés à Kubernetes. Pour plus d’informations, consultez Kubernetes concepts de base pour Azure Kubernetes Service (AKS).
- AKS Automatic enables Azure Policy sur votre cluster AKS, mais vous devez préinscrire le fournisseur de ressources
Microsoft.PolicyInsightsdans votre abonnement. Pour plus d’informations, consultez les fournisseurs de ressources Azure et les types.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Commencer avec Azure Cloud Shell.
Si vous préférez exécuter des commandes de référence CLI localement, installation la 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 How to run the Azure CLI in a Docker container.
Si vous utilisez une installation locale, connectez-vous au 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 Authenticate pour Azure à l’aide de 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 Utilisez et gérez les extensions avec le 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.
- Azure CLI version 2.77.0 ou ultérieure. Recherchez votre version à l’aide de la
az --versioncommande. Pour installer ou mettre à niveau, consultez Install Azure CLI. 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é 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’autorisationsMicrosoft.Compute/virtualMachines/writeetMicrosoft.Resources/deployments/*. Pour obtenir la liste des rôles et des autorisations, consultez Azure rôles intégrés.
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 le système d'exploitation Linux d'Azure.
- AKS Automatic est 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,northcentralus,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus,westus2,westus3. - Le cluster automatique AKS a un verrouillage préconfiguré du groupe de ressources de nœud, ce qui n’autorise pas de modifications au groupe de ressources MC_, empêchant ainsi les liaisons réseau virtuel dans 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é.
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 view des quotas pour des 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 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 eastus :
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
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
Au bout de quelques minutes, la commande se termine et retourne des informations au format JSON sur le cluster.
Créer un cluster Kubernetes automatique
Pour créer un cluster automatique AKS, recherchez et sélectionnez les services Kubernetes. Vous accédez à la page Kubernetes Center (préversion).
Dans la page Kubernetes Center (préversion), sélectionnez Créer un>cluster Kubernetes automatique.
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.
Sous l’onglet Monitoring, sélectionnez vos configurations de surveillance souhaitées dans Azure Monitor (Container Insights), Prometheus managé, Grafana Dashboards, Container Network Observability (ACNS), et alertes, puis sélectionnez Next.
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.
Passez en revue les configurations sous l’onglet Vérifier + créer , puis sélectionnez Créer pour déployer le cluster automatique AKS.
Commencez à configurer votre première application à partir de GitHub et configurez un pipeline de déploiement automatisé.
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@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 de Microsoft.ContainerService/managedClusters.
Déployer le fichier Bicep
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.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.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. 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 Azure Kubernetes Service RBAC Cluster Admin.
Configurez
kubectlpour se connecter à votre cluster Kubernetes à l’aide de la commandeaz 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 myAKSAutomaticClusterPour vérifier la connexion à votre cluster, exécutez la commande
kubectl get. Cette commande renvoie la liste des nœuds de cluster.kubectl get nodesL’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-12345678-vmss000000 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-vmss000001 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-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 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 :
- 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.
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 sur l’adresse IP externe de votre entrée pour afficher l’application Azure Store en action.
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.
Contenu connexe
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