Exercice - Créer un cluster Azure Kubernetes Service

Effectué

Dans cet exercice, vous créez un cluster AKS qui utilise plusieurs nœuds pour répondre à la demande de nombreux clients qui utilisent le service. Vous décidez d’utiliser l’architecture avec plan de contrôle unique et plusieurs nœuds, car elle offre la meilleure façon de créer et de gérer les ressources de la charge de travail.

AKS prend en charge les pools de nœuds Linux et Windows via le Portail ou Azure CLI. Toutefois, si vous comptez utiliser des pools de nœuds Windows, le cluster doit être créé avec davantage de prérequis et de commandes. Sélectionnez un système d’exploitation en fonction du type de pool de nœuds que vous voulez ajouter.

Important

Vous avez besoin de votre propre abonnement Azure pour exécuter cet exercice et des frais pourraient vous être facturés. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

  1. Connectez-vous à Azure Cloud Shell avec le compte où vous voulez déployer des ressources.

    Important

    Nous allons exécuter tous les scripts avec Bash. Par conséquent, si vous n’avez pas encore créé de Cloud Shell, sélectionnez Bash comme shell d’exécution.

  2. Créez des variables pour les valeurs de configuration que vous réutilisez tout au long des exercices.

    export RESOURCE_GROUP=rg-contoso-video
    export CLUSTER_NAME=aks-contoso-video
    export LOCATION=eastus
    

    Mettez à jour la variable LOCATION avec la région la plus proche de vous. Cet exemple utilise : eastus.

  3. Exécutez la commande az group create pour créer un groupe de ressources. Déployez toutes les ressources dans ce nouveau groupe de ressources.

    az group create --name=$RESOURCE_GROUP --location=$LOCATION
    
  4. Exécutez la commande az aks create pour créer un cluster AKS.

    az aks create \
        --resource-group $RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --node-count 2 \
        --generate-ssh-keys \
        --node-vm-size Standard_B2s \
        --network-plugin azure
    

    La commande crée un cluster AKS nommé aks-contoso-video dans le groupe de ressources rg-contoso-video. Le cluster a deux nœuds définis par le paramètre --node-count. Nous n’utilisons que deux nœuds dans cet exercice pour des raisons liées au coût. Le paramètre --node-vm-size configure les nœuds de cluster en machines virtuelles de taille Standard_B2s. Ces nœuds font partie du Mode système.

    Important

    Les machines virtuelles B2s Standard sont nécessaires pour créer des pools de nœuds, mais elles ne sont pas disponibles dans les abonnements de niveau gratuit. Si vous recevez des notifications concernant les limites, vous devez effectuer une mise à niveau vers le niveau Standard.

  5. Exécutez la commande az aks nodepool add pour ajouter un autre pool de nœuds qui utilise le système d’exploitation Linux par défaut.

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name userpool \
        --node-count 2 \
        --node-vm-size Standard_B2s
    

    La commande ajoute un nouveau pool de nœuds (mode Utilisateur) à un cluster AKS existant (créé dans la commande antérieure). Ce pool de nœuds Utilisateur sert à héberger des applications et des charges de travail, contrairement au pool de nœuds Système.

  1. Liez votre cluster Kubernetes à kubectl en exécutant la commande suivante dans Cloud Shell.

    az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

    Cette commande ajoute une entrée à votre fichier ~/.kube/config, qui contient toutes les informations pour accéder à vos clusters. Kubectl vous permet de gérer plusieurs clusters à partir d’une seule interface de ligne de commande.

  2. Exécutez la commande kubectl get nodes pour vérifier que vous pouvez vous connecter à votre cluster, puis validez sa configuration.

    kubectl get nodes
    

    La sortie doit lister quatre nœuds disponibles pour deux pools de nœuds.

NAME                                STATUS   ROLES   AGE    VERSION
aks-nodepool1-21895026-vmss000000   Ready    agent   245s   v1.23.12
aks-nodepool1-21895026-vmss000001   Ready    agent   245s   v1.23.12
aks-userpool-21895026-vmss000000    Ready    agent   105s   v1.23.12
aks-userpool-21895026-vmss000001    Ready    agent   105s   v1.23.12