Detener e iniciar grupos de nodos en Azure Kubernetes Service (AKS)

Es posible que no tenga que ejecutar continuamente las cargas de trabajo de AKS. Por ejemplo, podría tener un clúster de desarrollo que tenga grupos de nodos ejecutando cargas de trabajo específicas. Para optimizar los costes de proceso, puede detener completamente los grupos de nodos en el clúster de AKS. Cuando necesite volver a ejecutar las cargas de trabajo, puede reiniciar los grupos de nodos. En este artículo se muestra cómo detener e iniciar grupos de nodos en un clúster de AKS mediante el CLI de Azure.

Características y limitaciones

  • No se pueden detener los grupos del sistema.
  • Se admiten los grupos de nodos de acceso puntual.
  • Los grupos de nodos detenidos se pueden actualizar.
  • Para detener un grupo de nodos, el clúster y el grupo de nodos de usuario deben estar en ejecución y el grupo provisioningState de nodos debe ser Succeeded.
  • Para iniciar un grupo de nodos, el clúster debe estar en ejecución y el grupo de nodos de usuario debe detenerse.
  • No se pueden detener los grupos de nodos de los clústeres que usan el aprovisionamiento automático de nodos (NAP).

Sugerencia

Puede usar Azure Copilot para detener e iniciar los grupos de nodos en Azure Portal. Para más información, consulte Trabajar con clústeres de AKS de forma eficaz mediante Azure Copilot.

Antes de empezar

Este artículo supone que ya tiene un clúster de AKS. Si necesita un clúster de AKS, cree uno mediante la CLI de Azure, Azure PowerShell o Azure Portal.

Este artículo requiere CLI de Azure versión 2.38.0 o posterior. Ejecute az --version para buscar la versión instalada. Para obtener más información sobre cómo instalar o actualizar el CLI de Azure, consulte Instalación del CLI de Azure.

Detener un grupo de nodos de AKS en ejecución mediante el CLI de Azure

Antes de detener un grupo de nodos, confirme que el clúster y el grupo de nodos de usuario se están ejecutando, el grupo de nodos provisioningState es Succeededy el clúster no usa el aprovisionamiento automático de nodos.

Warning

Al detener un grupo de nodos, se detienen todas las máquinas virtuales del grupo. Antes de detener el grupo, asegúrese de que sus cargas de trabajo pueden tolerar una interrupción o ejecutarse en otro grupo de nodos.

  1. Detenga un grupo de nodos de AKS en ejecución mediante el comando az aks nodepool stop.

    az aks nodepool stop --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Compruebe que el grupo de nodos dejó de usar el comando az aks nodepool show.

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

    En la siguiente salida de ejemplo reducida se muestra el powerState como Stopped:

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

    Nota

    Si el provisioningState muestra Stopping, el grupo de nodos todavía estará en proceso de detención.

    Nota

    Al detener el grupo de nodos también se detiene el escalador automático de clústeres para ese grupo de nodos. Al iniciar el grupo de nodos, se reinicia el escalador automático del clúster. No modifique manualmente el número de instancias del conjunto de escalado de máquinas virtuales en el grupo mientras se detiene. No se admite la modificación directa de los recursos de infraestructura administrada por AKS y puede provocar incoherencias del escalador automático de clústeres y errores de operación. Para obtener más información, consulte Personalización del usuario de los nodos del agente.


Reinicio de un grupo de nodos de AKS mediante el CLI de Azure

Antes de iniciar un grupo de nodos, confirme que el clúster se está ejecutando y que el grupo de nodos de usuario está detenido.

  1. Reinicie un grupo de nodos detenido mediante el az aks nodepool start comando .

    az aks nodepool start --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Compruebe que el grupo de nodos comenzó a usar el comando az aks nodepool show.

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

    En la siguiente salida de ejemplo reducida se muestra el powerState como Running:

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

    Nota

    Si el provisioningState muestra Starting, el grupo de nodos todavía estará en proceso de inicio.


Pasos siguientes