Partager via


Affecter des groupes de réservations de capacité aux pools de nœuds de Azure Kubernetes Service (AKS)

À mesure que vos demandes de charge de travail changent, vous pouvez associer des groupes de réservations de capacité existants à vos pools de nœuds Azure Kubernetes Service (AKS) pour garantir leur capacité allouée. Les groupes de réservations de capacité vous permettent de réserver la capacité de calcul dans une région Azure ou une zone de disponibilité pendant toute durée. Cette fonctionnalité est utile pour les charges de travail qui nécessitent une capacité garantie, comme celles avec des modèles de trafic prévisibles ou celles qui doivent répondre à des exigences de performances spécifiques.

Dans cet article, vous apprendrez à utiliser les groupes de réservation de capacité avec les pools de nœuds dans AKS.

Note

La suppression d’un pool de nœuds dissocie implicitement ce pool de nœuds de tout groupe de réservation de capacité associé avant que le pool ne soit supprimé. La suppression d’un cluster dissocie implicitement tous les pools de nœuds de ce cluster de leurs groupes de réservation de capacité associés.

Conditions préalables à l’utilisation des groupes de réservation de capacité avec les pools de nœuds AKS

  • Vous avez besoin d’Azure CLI version 2.56 ou ultérieure installée et configurée. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
  • Vous avez besoin d’un groupe de réservations de capacité existant avec au moins une réservation de capacité. Sinon, le pool de nœuds est ajouté au cluster avec un avertissement et aucun groupe de réservation de capacité n’est associé.
  • Vous devez créer une identité managée attribuée par l'utilisateur avec le rôle Contributor pour le groupe de ressources qui contient le groupe de réservations de capacité et l’attribuer à votre cluster AKS. Les identités managées affectées par le système ne fonctionnent pas pour cette fonctionnalité.

Créer une identité managée affectée par l’utilisateur et l’affecter à un cluster AKS

  1. Créez une identité managée affectée par l’utilisateur à l’aide de la commande az identity create.

    az identity create --name <identity-name> --resource-group <resource-group-name> --location <location>
    
  2. Obtenez l’ID de l’identité managée affectée par l’utilisateur à l’aide de la commande et définissez-la az identity show sur une variable d’environnement.

    IDENTITY_ID=$(az identity show --name <identity-name> --resource-group <resource-group-name> --query identity.id -o tsv)
    
  3. Attribuez le Contributor rôle à l’identité affectée par l’utilisateur en utilisant la commande az role assignment create.

    az role assignment create --assignee $IDENTITY_ID --role "Contributor" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>
    

    La propagation de l’attribution de rôle peut prendre jusqu’à 60 minutes .

  4. Affectez l'identité gérée attribuée par l'utilisateur à un cluster AKS nouveau ou existant à l'aide du drapeau --assign-identity avec la commande az aks create ou az aks update.

    # Create a new AKS cluster with the user-assigned managed identity
    az aks create \
        --resource-group <resource-group-name> \
        --name <cluster-name> \
        --location <location> \
        --node-vm-size <vm-size> --node-count <node-count> \
        --assign-identity $IDENTITY_ID \
        --generate-ssh-keys
    
    # Update an existing AKS cluster to use the user-assigned managed identity
    az aks update \
        --resource-group <resource-group-name> \
        --name <cluster-name> \
        --location <location> \
        --node-vm-size <vm-size> \
        --node-count <node-count> \
        --enable-managed-identity \
        --assign-identity $IDENTITY_ID         
    

Limites à l’utilisation des groupes de réservation de capacité avec les pools de nœuds AKS

Vous ne pouvez pas mettre à jour un pool de nœuds existant avec un groupe de réservation de capacité. À la place, vous devez créer un nouveau pool de nœuds avec l’option --crg-id pour l’associer au groupe de réservation de capacité. Vous pouvez également associer un groupe de réservations de capacité existant à un pool de nœuds système lors de la création du cluster.

Obtenir l’ID d’un groupe de réservation de capacité existant

  • Obtenez l’ID d’un groupe de réservations de capacité existant à l’aide de la commande az capacity reservation group show et affectez-le à une variable d’environnement.

    CRG_ID=$(az capacity reservation group show --capacity-reservation-group <crg-name> --resource-group <resource-group-name> --query id -o tsv)
    

Associer un groupe de réservation de capacité existant à un pool de nœuds

  • Associer un groupe de réservation de capacité existant à un pool de nœuds en utilisant la commande az aks nodepool add avec l’option --crg-id. L’exemple suivant suppose que vous disposez d’un CRG nommé « myCRG ».

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --crg-id $CRG_ID
    

Associer un groupe de réservation de capacité existant à un pool de nœuds système

Pour associer un groupe de réservations de capacité existant à un pool de nœuds système, vous devez affecter l'identité managée assignée par l'utilisateur avec le rôle Contributor au cluster lors de la création du cluster. Vous pouvez ensuite utiliser l’indicateur --crg-id pour associer le groupe de réservations de capacité au pool de nœuds système.

  • Créez un nouveau cluster AKS avec l'identité managée assignée par l'utilisateur et associez-le au groupe de réservations de capacité à l'aide des options --assign-identity et --crg-id avec la commande az aks create.

    az aks create \
        --resource-group <resource-group-name> \
        --name <cluster-name> \
        --location <location> \
        --node-vm-size <vm-size> --node-count <node-count> \
        --assign-identity $IDENTITY_ID \
        --crg-id $CRG_ID \
        --generate-ssh-keys
    

Étapes suivantes : Gérer les pools de nœuds dans AKS

Pour en savoir plus sur la gestion des pools de nœuds dans AKS, consultez Gérer les pools de nœuds dans Azure Kubernetes Service (AKS).