Compartir a través de


Asignación de grupos de reservas de capacidad a grupos de nodos de Azure Kubernetes Service (AKS)

A medida que cambian las demandas de carga de trabajo, puede asociar los grupos de reservas de capacidad (CRG) existentes a los grupos de nodos de Azure Kubernetes Service (AKS) para garantizar la capacidad asignada para ellos. Los grupos de reserva de capacidad permiten reservar capacidad de proceso en una región de Azure o en una zona de disponibilidad durante cualquier duración de tiempo. Esta característica es útil para cargas de trabajo que requieren capacidad garantizada, como aquellas con patrones de tráfico predecibles o aquellas que necesitan cumplir requisitos de rendimiento específicos.

En este artículo, obtendrá información sobre cómo usar grupos de reserva de capacidad con grupos de nodos en AKS.

Nota:

La eliminación de un grupo de nodos disocia el grupo de nodos implícitamente de cualquier grupo de reserva de capacidad asociado, antes de la eliminación del grupo de nodos. La eliminación de un clúster disocia implícitamente todos los grupos de nodos de un clúster de los grupos de reserva de capacidad asociados.

Requisitos previos para usar grupos de reserva de capacidad con grupos de nodos de AKS

  • Necesita la versión 2.56 o posterior de la CLI de Azure instalada y configurada. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
  • Se necesita un grupo de reserva de capacidad existente con al menos una reserva de capacidad. Si no es así, el grupo de nodos se agrega al clúster con una advertencia y no se asocia ningún grupo de reserva de capacidad.
  • Debe crear una identidad administrada asignada por el usuario con el rol de Contributor para el grupo de recursos que contiene el grupo de reservas de capacidad y asignar la identidad al clúster de AKS. Las identidades administradas asignadas por el sistema no funcionan para esta característica.

Creación de una identidad administrada asignada por el usuario y asignación a un clúster de AKS

  1. Use el comando az identity create para crear una identidad administrada asignada por el usuario.

    az identity create --name <identity-name> --resource-group <resource-group-name> --location <location>
    
  2. Obtenga el identificador de la identidad administrada asignada por el usuario mediante el az identity show comando y establézcalo en una variable de entorno.

    IDENTITY_ID=$(az identity show --name <identity-name> --resource-group <resource-group-name> --query identity.id -o tsv)
    
  3. Asigne el Contributor rol a la identidad asignada por el usuario mediante el az role assignment create comando .

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

    La asignación de roles puede tardar hasta 60 minutos en propagarse.

  4. Asigne la identidad administrada asignada por el usuario a un clúster de AKS nuevo o existente mediante la marca --assign-identity con el comando az aks create or 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         
    

Limitaciones para usar grupos de reserva de capacidad con grupos de nodos de AKS

No se puede actualizar un grupo de nodos existente con un grupo de reservas de capacidad. En su lugar, debe crear un nuevo grupo de nodos con la --crg-id marca para asociarlo al grupo de reserva de capacidad. También puede asociar un grupo de reservas de capacidad existente a un grupo de nodos del sistema durante la creación del clúster.

Obtener el identificador de un grupo de reserva de capacidad existente

  • Obtenga el identificador de un grupo de reservas de capacidad existente mediante el az capacity reservation group show comando y establézcalo en una variable de entorno.

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

Asociación de un grupo de reservas de capacidad existente a un grupo de nodos

  • Asocie un grupo de reservas de capacidad existente a un grupo de nodos usando el comando az aks nodepool add y el indicador --crg-id. En el ejemplo siguiente se supone que tiene un CRG denominado "myCRG".

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

Asociación de un grupo de reservas de capacidad existente a un grupo de nodos del sistema

Para asociar un grupo de reservas de capacidad existente a un grupo de nodos del sistema, debe asignar la identidad administrada asignada por el usuario al clúster con el rol de Contributor durante la creación del clúster. A continuación, puede usar la --crg-id marca para asociar el grupo de reservas de capacidad al grupo de nodos del sistema.

  • Cree un nuevo clúster de AKS con la identidad administrada asignada por el usuario y asócielo al grupo de reserva de capacidad usando las marcas --assign-identity y --crg-id con el comando 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
    

Pasos siguientes: Administración de grupos de nodos en AKS

Para más información sobre cómo administrar grupos de nodos en AKS, consulte Administración de grupos de nodos en Azure Kubernetes Service (AKS).