Arrêter et démarrer des pools de nœuds dans Azure Kubernetes Service (AKS)

Vous n’avez peut-être pas besoin d’exécuter vos charges de travail AKS en continu. Par exemple, vous pouvez avoir un cluster de développement avec des pools de nœuds exécutant des charges de travail spécifiques. Pour optimiser vos coûts de calcul, vous pouvez arrêter complètement les pools de nœuds de votre cluster AKS. Lorsque vous devez réexécuter vos charges de travail, vous pouvez redémarrer les pools de nœuds. Cet article explique comment arrêter et démarrer des pools de nœuds dans un cluster AKS à l’aide de la Azure CLI.

Fonctionnalités et limitations

  • Vous ne pouvez pas arrêter les pools système.
  • Les pools de nœuds spot sont pris en charge.
  • Les pools de nœuds arrêtés peuvent être mis à niveau.
  • Pour arrêter un pool de nœuds, le cluster et le pool de nœuds utilisateur doivent être en cours d’exécution, et le pool provisioningState de nœuds doit être Succeeded.
  • Pour démarrer un pool de nœuds, le cluster doit être en cours d’exécution et le pool de nœuds utilisateur doit être arrêté.
  • Vous ne pouvez pas arrêter les pools de nœuds à partir de clusters qui utilisent le provisionnement automatique de nœuds (NAP).

Conseil / Astuce

Vous pouvez utiliser Azure Copilot pour arrêter et démarrer vos pools de nœuds dans le portail Azure. Pour plus d’informations, consultez Utiliser efficacement des clusters AKS à l’aide d’Azure Copilot.

Avant de commencer

Cet article suppose que vous disposez d’un cluster AKS. Si vous avez besoin d’un cluster AKS, créez-en un à l'aide d’Azure CLI, d’Azure PowerShell ou du portail Azure.

Cet article nécessite Azure CLI version 2.38.0 ou ultérieure. Exécutez az --version pour rechercher la version installée. Pour plus d’informations sur l’installation ou la mise à niveau du Azure CLI, consultez Installer le Azure CLI.

Arrêtez un pool de nœuds AKS en cours d’exécution à l’aide du Azure CLI

Avant d’arrêter un pool de nœuds, vérifiez que le cluster et le pool de nœuds utilisateur sont en cours d’exécution, le pool provisioningState de nœuds est Succeededet le cluster n’utilise pas le provisionnement automatique de nœuds.

Warning

L’arrêt d’un pool de nœuds arrête toutes les machines virtuelles du pool. Avant d’arrêter le pool, vérifiez que ses charges de travail peuvent tolérer une interruption ou s’exécuter sur un autre pool de nœuds.

  1. Arrêtez un pool de nœuds AKS en cours d’exécution à l’aide de la commande az aks nodepool stop.

    az aks nodepool stop --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Vérifiez que votre pool de nœuds est arrêté à l’aide de la commande az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
    

    L’exemple de sortie condensée suivant montre que powerState indique Stopped :

    {
    [...]
     "osType": "Linux",
        "podSubnetId": null,
        "powerState": {
            "code": "Stopped"
            },
        "provisioningState": "Succeeded",
        "proximityPlacementGroupId": null,
    [...]
    }
    

    Notes

    Si provisioningState indique Stopping, votre pool de nœuds est toujours en cours d’arrêt.

    Notes

    L’arrêt du pool de nœuds arrête également la mise à l’échelle automatique du cluster pour ce pool de nœuds. Le démarrage du pool de nœuds redémarre son autoscaler de cluster. Ne modifiez pas manuellement le nombre d’instances de groupe de machines virtuelles identiques dans le pool pendant son arrêt. La modification directe des ressources d’infrastructure managées par AKS n’est pas prise en charge et peut entraîner des incohérences de mise à l’échelle automatique du cluster et des échecs d’opération. Pour plus d’informations, consultez Personnalisation de l’utilisateur des nœuds d’agent.


Redémarrez un pool de nœuds AKS à l’aide de la Azure CLI

Avant de démarrer un pool de nœuds, vérifiez que le cluster est en cours d’exécution et que le pool de nœuds utilisateur est arrêté.

  1. Redémarrez un pool de nœuds arrêté à l’aide de la az aks nodepool start commande.

    az aks nodepool start --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Vérifiez que votre pool de nœuds a démarré à l’aide de la commande az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
    

    L’exemple de sortie condensée suivant montre que powerState indique Running :

    {
    [...]
     "osType": "Linux",
        "podSubnetId": null,
        "powerState": {
            "code": "Running"
            },
        "provisioningState": "Succeeded",
        "proximityPlacementGroupId": null,
    [...]
    }
    

    Notes

    Si provisioningState indique Starting, votre pool de nœuds est toujours en cours de démarrage.


Étapes suivantes