Capaciteitsreserveringsgroepen toewijzen aan AKS-knooppuntgroepen (Azure Kubernetes Service)

Naarmate uw workloadvereisten veranderen, kunt u bestaande capaciteitsreserveringsgroepen (CRG's) koppelen aan uw AKS-knooppuntgroepen (Azure Kubernetes Service) om toegewezen capaciteit voor hen te garanderen. Met capaciteitsreserveringsgroepen kunt u rekencapaciteit reserveren in een Azure-regio of beschikbaarheidszone voor elke duur van de tijd. Deze functie is handig voor workloads waarvoor gegarandeerde capaciteit is vereist, zoals werkbelastingen met voorspelbare verkeerspatronen of werkbelastingen die moeten voldoen aan specifieke prestatievereisten.

In dit artikel leert u hoe u capaciteitsreserveringsgroepen gebruikt met knooppuntgroepen in AKS.

Opmerking

Als u een knooppuntgroep verwijdert, wordt die knooppuntgroep impliciet losgekoppeld van een gekoppelde capaciteitsreserveringsgroep voordat de knooppuntgroep wordt verwijderd. Als u een cluster verwijdert, worden alle knooppuntgroepen in dat cluster impliciet losgekoppeld van de bijbehorende capaciteitsreserveringsgroepen.

Vereisten voor het gebruik van capaciteitsreserveringsgroepen met AKS-knooppuntgroepen

  • U moet Azure CLI versie 2.56 of hoger hebben geïnstalleerd en geconfigureerd. Voer az --version uit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
  • U hebt een bestaande capaciteitsreserveringsgroep met ten minste één capaciteitsreservering nodig. Als dat niet het geval is, dan wordt de knooppool met een waarschuwing aan het cluster toegevoegd en wordt er geen capaciteitsreserveringsgroep geassocieerd.
  • U moet een door de gebruiker toegewezen beheerde identiteit maken met de Contributor rol voor de resourcegroep die de capaciteitsreserveringsgroep bevat en de identiteit toewijst aan uw AKS-cluster. Door het systeem toegewezen beheerde identiteiten werken niet voor deze functie.

Een door de gebruiker toegewezen beheerde identiteit maken en deze toewijzen aan een AKS-cluster

  1. Maak een door de gebruiker toegewezen beheerde identiteit met behulp van de az identity create opdracht.

    az identity create --name <identity-name> --resource-group <resource-group-name> --location <location>
    
  2. Haal de id op van de door de gebruiker toegewezen beheerde identiteit met behulp van de az identity show opdracht en stel deze in op een omgevingsvariabele.

    IDENTITY_ID=$(az identity show --name <identity-name> --resource-group <resource-group-name> --query identity.id -o tsv)
    
  3. Wijs de Contributor rol toe aan de door de gebruiker toegewezen identiteit met behulp van de az role assignment create opdracht.

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

    Het kan tot 60 minuten duren voordat de roltoewijzing is doorgegeven.

  4. Wijs de door de gebruiker toegewezen beheerde identiteit toe aan een nieuw of bestaand AKS-cluster met behulp van de --assign-identity vlag met de az aks create of az aks update opdracht.

    # 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         
    

Verkrijg de ID van een bestaande capaciteitsreserveringsgroep

Haal de id van een bestaande capaciteitsreserveringsgroep op met behulp van de az capacity reservation group show opdracht en stel deze in op een omgevingsvariabele.

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

Een bestaande capaciteitsreserveringsgroep koppelen aan een nieuwe knooppuntgroep

Koppel een bestaande capaciteitsreserveringsgroep aan een nieuwe knooppuntgroep met behulp van de az aks nodepool add opdracht met de --crg-id vlag. In het volgende voorbeeld wordt ervan uitgegaan dat u een CRG met de naam 'myCRG' hebt.

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

Een bestaande capaciteitsreserveringsgroep koppelen aan een bestaande knooppuntgroep (preview)

Koppel een bestaande capaciteitsreserveringsgroep aan een bestaande knooppuntgroep met behulp van de az aks nodepool update opdracht met de --crg-id vlag.

  • Voor zonale knooppuntgroepen wordt met deze bewerking een gefaseerde update van de doelknooppuntgroep gestart. Het updateproces omvat het gefaseerd cordoneren en drainen van alle knooppunten, gevolgd door een herstart om de wijziging door te voeren.
  • Voor niet-zonegebonden (regionale) knooppuntgroepen tijdens de preview schaalt u eerst de knooppuntgroep op nul en past u vervolgens de capaciteitsreserveringsgroep toe.

Prerequisites

  • Installeer de aks-preview Azure CLI-extensieversie 20.0.0b7 of hoger voordat u deze opdracht uitvoert.

  • Zorg ervoor dat de capaciteitsreserveringsgroep voldoende capaciteit heeft voor de upgradestrategie van uw knooppuntgroep. Wanneer maxSurge > 0, reserveert u extra capaciteit voor de maximale surge-waarde. Een pool met 10 knooppunten waarbij maxSurge is ingesteld op 2, kan tijdens een upgrade bijvoorbeeld maximaal 12 knooppunten draaien. Deze extra capaciteit is niet vereist voor maxUnavailable-implementaties of regionale geschaalde naar nul-paden.

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

Een bestaande capaciteitsreserveringsgroep koppelen aan een systeemknooppuntgroep

Als u een bestaande groep voor capaciteitsreservering wilt koppelen aan een knooppuntpool van het systeem, moet u de door de gebruiker beheerde identiteit met de Contributor-rol toewijzen aan de cluster tijdens het maken van de cluster. Vervolgens kunt u de --crg-id vlag gebruiken om de capaciteitsreserveringsgroep te koppelen aan de systeemknooppuntgroep.

  • Maak een nieuw AKS-cluster met de door de gebruiker toegewezen beheerde identiteit en koppel het aan de capaciteitsreserveringsgroep met behulp van de --assign-identity en --crg-id vlaggen met de az aks create opdracht.

    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
    

Volgende stappen: Knooppuntgroepen beheren in AKS

Zie Knooppuntgroepen beheren in Azure Kubernetes Service (AKS) voor meer informatie over het beheren van knooppuntgroepen in AKS.