Démarrage rapide : déployer un cluster AKS (Azure Kubernetes Service) à l’aide du portail Azure
AKS (Azure Kubernetes Service) est un service Kubernetes managé qui vous permet de déployer et de gérer rapidement des clusters. Dans ce guide de démarrage rapide, vous allez :
- Déployer un cluster AKS dans le portail Azure.
- Exécutez un exemple d’application à plusieurs conteneurs avec un serveur web frontal et une instance Redis dans le cluster.
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).
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Si vous ne connaissez pas Azure Cloud Shell, consultez Vue d’ensemble d’Azure Cloud Shell.
L’identité que vous utilisez pour créer votre cluster dispose des autorisations minimales appropriées. Pour plus d’informations sur l’accès et l’identité pour AKS, consultez Options d’accès et d’identité pour Kubernetes Azure Service (AKS).
Créer un cluster AKS
Connectez-vous au portail Azure.
Dans le menu du Portail Azure ou dans la page Accueil, sélectionnez Créer une ressource.
Sélectionnez Conteneurs>Kubernetes Service.
Sur la page Bases, configurez les options suivantes :
- Détails du projet :
- Sélectionnez un abonnement Azure.
- Sélectionnez ou créez un groupe de ressources Azure, par exemple myResourceGroup.
- Détails du cluster :
- Vérifiez que la Configuration prédéfinie est Standard ($$) . Pour plus d’informations sur les configurations prédéfinies, consultez Présélections de configuration de cluster dans le portail Azure.
- Entrez un nom du cluster Kubernetes, tel que myAKSCluster.
- Sélectionnez une Région pour le cluster AKS, puis laissez la valeur par défaut sélectionnée pour Version de Kubernetes.
- Sélectionnez 99,5 % pour Disponibilité du serveur d’API.
- Pool de nœuds principal :
- conservez la valeur par défaut sélectionnée.
Notes
Vous pouvez modifier la configuration prédéfinie lors de la création de votre cluster en sélectionnant En savoir plus et comparer les présélections et en choisissant une autre option.
- Détails du projet :
Sélectionnez Suivant : Pools de nœuds à l’issue du processus.
Conservez les options de Pools de nœuds par défaut. Au bas de la page, cliquez sur Suivant : Accès.
Sur la page Accès, configurez les options suivantes :
- La valeur par défaut d’Identité de ressource est l’Identité managée affectée par le système. Les identités managées fournissent une identité utilisée par les applications lorsqu'elles se connectent à des ressources qui prennent en charge l'authentification Azure Active Directory (Azure AD). Pour plus de détails sur les identités managées, consultez la section Que sont les identités managées pour les ressources Azure ?.
- L’option de contrôle d’accès en fonction du rôle Kubernetes (RBAC) est la valeur par défaut pour fournir un contrôle plus précis de l’accès aux ressources Kubernetes déployées dans votre cluster AKS.
Par défaut, le réseau De base est utilisé et les Insights de conteneur sont activés.
Cliquez sur Vérifier + créer. Lorsque vous accédez à l’onglet Vérifier + créer, Azure exécute la validation sur les paramètres que vous avez choisis. Si la validation réussit, vous pouvez continuer à créer le cluster AKS en sélectionnant Créer. Si la validation échoue, les paramètres qui doivent être modifiés sont indiqués.
La création du cluster AKS ne prend que quelques minutes. Une fois votre déploiement terminé, accédez à votre ressource en procédant une des façons suivantes :
En sélectionnant Accéder à la ressource, ou
En accédant au groupe de ressources de cluster AKS et en sélectionnant la ressource AKS. Dans cet exemple, vous recherchez myResourceGroup et sélectionnez la ressource myAKSCluster.
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é. Si vous ne connaissez pas Cloud Shell, consultez Vue d’ensemble d’Azure Cloud Shell.
Ouvrez Cloud Shell à l’aide du bouton
>_
situé en haut du portail Azure.Notes
Pour effectuer ces opérations dans une installation Shell locale :
- Vérifiez qu’Azure CLI ou Azure PowerShell est installé.
- Connectez-vous à Azure à l’aide de la commande
az login
ouConnect-AzAccount
.
Configurez
kubectl
afin de vous connecter à votre cluster Kubernetes avec la commande az aks get-credentials. La commande suivante télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Vérifiez la connexion à votre cluster avec la commande
kubectl get
pour retourner une liste des nœuds du cluster.kubectl get nodes
La sortie montre le nœud unique créé au cours des étapes précédentes. Assurez-vous que l’état du nœud est Prêt :
NAME STATUS ROLES AGE VERSION aks-agentpool-12345678-vmss000000 Ready agent 23m v1.19.11 aks-agentpool-12345678-vmss000001 Ready agent 24m v1.19.11
Déployer l’application
Un fichier manifeste Kubernetes définit un état souhaité d’un cluster, notamment les images conteneur à exécuter.
Dans ce guide de démarrage rapide, un manifeste est utilisé afin de créer tous les objets nécessaires pour l’exécution de l’application de vote Azure. Ce manifeste comprend deux déploiements Kubernetes :
- Exemples d’applications Python pour Azure Vote.
- Une instance Redis.
Deux services Kubernetes sont également créés :
- Un service interne pour l’instance Redis.
- Un service externe pour accéder à l’application Azure vote à partir d’Internet.
Dans le Cloud Shell, utilisez un éditeur pour créer un fichier nommé
azure-vote.yaml
, tel que :code azure-vote.yaml
nano azure-vote.yaml
ouvi azure-vote.yaml
.
Copiez-y la définition YAML suivante :
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-front
Déployez l’application à l’aide de la commande
kubectl apply
et spécifiez le nom de votre manifeste YAML :kubectl apply -f azure-vote.yaml
La sortie affiche les déploiements et services créés avec succès :
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-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.
Pour surveiller la progression, utilisez la commande kubectl get service
avec l’argument --watch
.
kubectl get service azure-vote-front --watch
La sortie EXTERNAL-IP pour le service azure-vote-front
affiche initialement En attente.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Quand l’adresse EXTERNAL-IP passe de l’état pending à 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 :
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Pour voir l’application Azure Vote en action, ouvrez un navigateur web en utilisant l’adresse IP externe de votre service.
Supprimer un cluster
Pour éviter les frais Azure, si vous ne prévoyez pas d’effectuer les tutoriels qui suivent, nettoyez vos ressources inutiles. Sélectionnez le bouton Supprimer dans le tableau de bord du cluster AKS. Vous pouvez également utiliser la commande az group delete ou la cmdlet Remove-AzResourceGroup pour supprimer le groupe de ressources, le service conteneur et toutes les ressources associées.
az group delete --name myResourceGroup --yes --no-wait
Notes
Le cluster AKS a été créé avec une identité managée affectée par le système. Cette identité est managée par la plateforme et ne nécessite pas de suppression.
Étapes suivantes
Dans ce Démarrage rapide, vous avez déployé un cluster Kubernetes dans lequel vous avez ensuite déployé un exemple d’application de plusieurs conteneurs.
Pour en savoir plus sur AKS au travers d’un exemple complet, notamment sur la création d’une application, le déploiement à partir d’Azure Container Registry, la mise à jour d’une application en cours d’exécution ainsi que la mise à l’échelle et la mise à niveau de votre cluster, passez au tutoriel sur les clusters Kubernetes.