Partager via


Utiliser des pools de nœuds de machines virtuelles dans Azure Kubernetes Service (AKS)

Dans cet article, vous découvrirez le nouveau type de pool de nœuds de machines virtuelles pour AKS.

Avec les pools de nœuds de machines virtuelles, AKS gère directement l’approvisionnement et le démarrage de chaque nœud. Pour les pools de nœuds Virtual Machine Scale Sets, AKS gère le modèle des Virtual Machine Scale Sets et l’utilise pour assurer la cohérence entre tous les nœuds du pool de nœuds. Les pools de nœuds Machines Virtuelles vous permettent d’orchestrer votre cluster avec les machines virtuelles qui correspondent le mieux à vos charges de travail individuelles.

Vue d’ensemble

Fonctionnement

Un pool de nœuds se compose d’un ensemble de machines virtuelles, où différentes tailles de machine virtuelle sont spécifiées pour prendre en charge différents types de charges de travail. Ces tailles de machine virtuelle, appelées références SKU, sont classées dans différentes familles, optimisées à des fins spécifiques. Pour plus d’informations, consultez les références (SKU) des machines virtuelles.

Pour activer la mise à l’échelle de plusieurs tailles de machines virtuelles, le type de pool de nœuds de machines virtuelles utilise une ScaleProfile, qui contient des configurations indiquant comment le pool de nœuds peut être mis à l’échelle, en particulier la liste souhaitée des tailles des machines virtuelles et le nombre correspondant pour chaque taille. Un ManualScaleProfile est un profil de mise à l’échelle qui spécifie une taille de machine virtuelle souhaitée et le nombre total de ce type dans le pool de nœuds. Seule une taille de machine virtuelle est autorisée dans un ManualScaleProfile. Vous devez créer un ManualScaleProfile distinct pour chaque taille de machine virtuelle dans votre pool de nœuds. Lors de la création d’un pool de nœuds de machines virtuelles, vous ajoutez un profil initial de mise à l'échelle manuelle pour une taille de machine virtuelle à l’aide du champ vm-size et en incluant un node-count, en suivant les instructions ci-dessous. Vous pouvez également ajouter des profils de mise à l’échelle manuelle supplémentaires en suivant les instructions pour ajouter des profils de mise à l’échelle manuelle.

Remarque

Lors de la création d’un pool de nœuds de machines virtuelles, vous pouvez avoir plusieurs profils de mise à l’échelle et vous avez besoin d’au moins un profil de mise à l’échelle manuelle dans votre pool de nœuds.

Avantages

Les avantages du type de pool de nœuds Machines Virtuelles incluent :

  • Flexibilité : les spécifications de nœud peuvent être mises à jour pour s’adapter à votre charge de travail et à vos besoins actuels.
  • Contrôle affiné : les contrôles au niveau du nœud unique permettent de spécifier et de mélanger des nœuds de différentes spécifications pour lever les restrictions d’un modèle unique et améliorer la cohérence.
  • Efficacité : vous pouvez réduire l’empreinte du nœud pour votre cluster, ce qui simplifie vos besoins opérationnels.

Les pools de nœuds Machines Virtuelles offrent une meilleure expérience pour les charges de travail dynamiques et les exigences de haute disponibilité. Les pools de nœuds Machines Virtuelles vous permettent de configurer plusieurs machines virtuelles de famille similaire dans un pool de nœuds. Votre charge de travail sera automatiquement planifiée sur les ressources disponibles que vous configurez.

Comparaison des fonctionnalités

Le tableau suivant montre une comparaison des pools de nœuds Machines Virtuelles avec les pools de nœuds Scale Set standard.

Type de pool de nœuds Fonctionnalités
Pool de nœuds de machines virtuelles Vous pouvez ajouter, supprimer ou mettre à jour des nœuds dans un pool de nœuds. Les types de machines virtuelles peuvent être toute machine virtuelle du même type de famille (par exemple, Série D, Série A, etc.).
Pool de nœuds basé sur un groupe de machines virtuelles identiques Vous pouvez ajouter ou supprimer des nœuds de la même taille et du même type dans un pool de nœuds. Si vous ajoutez une nouvelle taille de machine virtuelle au cluster, vous devez créer un nouveau pool de nœuds.

Limites

  • La Mise à l’échelle automatique du cluster n’est actuellement pas prise en charge.
  • InifiniBand n’est pas disponible.
  • Instantané du pool de nœuds n’est pas pris en charge.
  • Toutes les tailles de machine virtuelle sélectionnées dans un pool de nœuds doivent provenir d’une même famille de machines virtuelles. Par exemple, vous ne pouvez pas combiner un type de machine virtuelle Série N avec un type de machine virtuelle Série D dans le même pool de nœuds.
  • Les pools de nœuds Machines Virtuelles autorisent jusqu’à cinq tailles de machines virtuelles différentes par pool de nœuds.

Prérequis

  • Un abonnement Azure. Si vous n’en avez pas, vous pouvez créer un compte gratuit.
  • Azure CLI version 2.73.0 ou ultérieure installée et configurée. Pour connaître la version, exécutez az --version. Pour plus d’informations sur l’installation ou la mise à niveau d’Azure CLI, consultez Installer Azure CLI
  • Cette fonctionnalité nécessite kubernetes version 1.27 ou ultérieure. Pour mettre à niveau votre version kubernetes, consultez Mettre à niveau un cluster AKS

Créer un cluster AKS avec des pools de nœuds de machines virtuelles

Remarque

Seule une taille de machine virtuelle est autorisée dans un profil de mise à l’échelle et la limite maximale est de cinq profils de mise à l’échelle de machine virtuelle globalement pour un pool de nœuds Machines Virtuelles.

  • Créez un cluster AKS avec des pools de nœuds Machines Virtuelles en utilisant la commande az aks create avec l’indicateur --vm-set-type défini sur "VirtualMachines".

    L’exemple suivant crée un cluster nommé myAKSCluster avec un pool de nœuds machines virtuelles contenant deux nœuds, génère des clés SSH, définit la référence SKU de l’équilibreur de charge sur standard et définit la version Kubernetes sur 1.31.0 :

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" 
        --node-count 2 \
        --kubernetes-version 1.31.0
    

Créer un cluster avec Windows activé et un pool de nœuds de machine virtuelle Windows

Les pools de nœuds de machine virtuelle sont disponibles dans les clusters Windows activés. L’exemple suivant crée un cluster nommé myAKSCluster avec un pool de nœuds machines virtuelles. Ces étapes créent d’abord un pool de systèmes Linux.

  1. Créez un nom d’utilisateur à utiliser en tant qu’informations d’identification d’administrateur pour les nœuds Windows Server sur votre cluster. Les commandes suivantes vous invitent à entrer un nom d’utilisateur et la définissent sur WINDOWS_USERNAME à utiliser dans une commande ultérieure.

    echo "Please enter the username to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_USERNAME
    
  2. Créez un mot de passe pour le nom d’utilisateur administrateur que vous avez créé à l’étape précédente. Le mot de passe doit comporter au moins 14 caractères et répondre aux exigences de complexité du mot de passe Windows Server.

    echo "Please enter the password to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_PASSWORD
    
  3. Créez un cluster AKS avec des pools de nœuds de type Windows et des machines virtuelles activées à l’aide de la commande az aks create avec l’indicateur --vm-set-type défini sur "VirtualMachines".

    az aks create \ 
       --resource-group myResourceGroup \
       --name myAKSCluster \
       --node-count 2 \
       --enable-addons monitoring \
       --generate-ssh-keys \
       --windows-admin-username $WINDOWS_USERNAME \
       --windows-admin-password $WINDOWS_PASSWORD \
       --vm-set-type "VirtualMachines" \
       --network-plugin azure
    
  4. Ajoutez un pool de nœuds de machines virtuelles à un cluster Windows existant à l’aide de la commande az aks nodepool add avec l’indicateur --vm-set-type défini sur "VirtualMachines". L’exemple suivant ajoute un pool de nœuds machines virtuelles nommé npwin au cluster myAKSCluster :

    az aks nodepool add
       --resource-group myResourceGroup \
       --cluster-name myAKSCluster \
       --os-type Windows \
       --name npwin \
       --vm-sizes "Standard_D2s_V3" \
       --node-count 1
       --vm-set-type "VirtualMachines"
    

Ajouter un pool de nœuds Machines Virtuelles à un cluster existant

  • Ajoutez un pool de nœuds Machines Virtuelles à un cluster existant en utilisant la commande az aks nodepool add avec l’indicateur --vm-set-type défini sur "VirtualMachines".

    L’exemple suivant ajoute un pool de nœuds Machines Virtuelles nommé myvmpool au cluster myAKSCluster. Le pool de nœuds crée un ManualScaleProfile avec la valeur de --vm-sizes définie sur Standard_D4s_v3 et une valeur de --node-count égale à 3.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" \
        --node-count 3
    

Ajouter un profil de mise à l’échelle manuelle à un pool de nœuds

  • Ajoutez un profil de mise à l’échelle manuelle à un pool de nœuds en utilisant le az aks nodepool manual-scale add avec le drapeau --vm-sizes réglé sur "Standard_D2s_v3" et la node-count réglée sur 2.

    L’exemple suivant ajoute un profil de mise à l’échelle manuelle au pool de nœuds myvmpool dans le cluster myAKSCluster. Le pool de nœuds comprend deux nœuds avec une référence SKU de machine virtuelle de Standard_D2s_v3 :

    az aks nodepool manual-scale add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --vm-sizes "Standard_D2s_v3" \
        --node-count 2
    

Mettre à jour un profil de mise à l’échelle manuelle existant

  • Mettez à jour un profil de mise à l’échelle manuelle existant dans un pool de nœuds à l’aide de la commande az aks nodepool manual-scale update avec l’indicateur --vm-sizes défini sur "Standard_D2s_v3".

    Remarque

    Utilisez le paramètre --current-vm-sizes pour spécifier la taille du pool de nœuds existant que vous souhaitez mettre à jour. Vous pouvez mettre à jour --vm-sizes et/ou --node-count. Lorsque vous utilisez d’autres outils ou API REST, vous devez passer un champ agentPoolProfiles.virtualMachinesProfile.scale complet lors de la mise à jour du profil de mise à l’échelle du pool de nœuds.

    L’exemple suivant met à jour un profil de mise à l’échelle manuelle sur le pool de nœuds myvmpool dans le cluster myAKSCluster. La commande augmente le nombre de nœuds à cinq et modifie la référence SKU de machine virtuelle de Standard_D4s_v3 à Standard_D8s_v3 :

    az aks nodepool manual-scale update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --current-vm-sizes "Standard_D4s_v3" \
        --vm-sizes "Standard_D8s_v3" \
        --node-count 5
    

Supprimer un profil de mise à l’échelle manuelle

  • Supprimez un profil de mise à l’échelle manuelle existant à l’aide de la commande az aks nodepool manual-scale delete.

    Remarque

    Le paramètre --current-vm-sizes spécifie la taille du pool de nœuds existant à supprimer. Lorsque vous utilisez d’autres outils ou API REST pour mettre à jour le profil de mise à l’échelle du pool de nœuds, transmettez un champ agentPoolProfiles.virtualMachinesProfile.scale complet.

    L’exemple suivant supprime le profil de mise à l’échelle manuelle pour la référence SKU de machine virtuelle Standard_D8s_v3 dans le pool de nœuds myvmpool.

    az aks nodepool manual-scale delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myvmpool \
        --current-vm-sizes "Standard_D8s_v3"
    

Étapes suivantes

Dans cet article, vous avez appris à utiliser les pools de nœuds Machines Virtuelles dans AKS. Pour en savoir plus sur les pools de nœuds dans AKS, consultez Créer des pools de nœuds.