Automatische schaalaanpassing van clusters lukt niet met de fout 'kan knooppuntgroep met ingeschakelde automatische schaalaanpassing niet schalen'

Overzicht

In dit artikel wordt beschreven hoe u de fout 'kan knooppuntgroep met ingeschakelde autoscaler niet schalen' oplost die optreedt bij het schalen van een cluster met een knooppuntgroep waarop een autoscaler is ingeschakeld.

Symptomen

U ontvangt een foutbericht dat lijkt op het volgende bericht:

kubectl get nodes voert 'Geen resources gevonden' uit
Alle pods hebben de status Pending
Schaalbewerkingen mislukken met de foutmelding 'Kan knooppuntgroep met ingeschakelde autoscaler niet schalen'

Controlelijst voor probleemoplossing

Azure Kubernetes Service (AKS) maakt gebruik van agentgroepen op basis van virtuele-machineschaalsets, die clusterknooppunten en mogelijkheden voor automatisch schalen van clusters bevatten, indien ingeschakeld.

Controleer of de virtuele machine schaalset van het cluster bestaat

  1. Meld u aan bij Azure Portal.

  2. Zoek de knooppuntresourcegroep door de volgende namen te zoeken:

    • De standaardnaam MC_{AksResourceGroupName}_{YourAksClusterName}_{AksResourceLocation}.
    • De aangepaste naam (als deze is opgegeven tijdens het maken).

    Notitie

    Wanneer u een nieuw cluster maakt, maakt AKS automatisch een tweede resourcegroep om de AKS-resources op te slaan. Zie voor meer informatie Waarom worden er twee resourcegroepen gemaakt met AKS?

  3. Controleer de lijst met resources en zorg ervoor dat er een schaalset voor virtuele machines is.

Oorzaak 1: De schaalset voor virtuele machines van het cluster is verwijderd

Als u de virtuele-machineschaalset verwijdert die aan het cluster is gekoppeld, mislukt de automatische schaalaanpassing van clusters. Het veroorzaakt ook problemen bij het inrichten van resources, zoals knooppunten en pods.

Notitie

Het wijzigen van een resource onder de knooppuntresourcegroep in het AKS-cluster is een niet-ondersteunde actie en veroorzaakt fouten in de clusterbewerking. U kunt voorkomen dat wijzigingen worden aangebracht in de knooppuntresourcegroep door te blokkeren dat gebruikers resources wijzigen die worden beheerd door het AKS-cluster.

Knooppuntgroep afstemmen

Als de scale set voor virtuele machines van het cluster per ongeluk wordt verwijderd, kunt u de knooppool afstemmen met behulp van az aks nodepool update.

# Update Node Pool Configuration
az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <nodepool-name> --tags <tags> --node-taints <taints> --labels <labels>

# Verify the Update
az aks nodepool show --resource-group <resource-group-name> --cluster-name <cluster-name> --name <nodepool-name>

Controleer de knooppuntgroep om ervoor te zorgen dat deze werkt zoals verwacht en dat alle knooppunten operationeel zijn.

Oorzaak 2: Tags of andere eigenschappen zijn gewijzigd uit de resourcegroep van het knooppunt

Mogelijk ontvangt u schaalfouten als u door Azure gemaakte tags en andere resource-eigenschappen in de knooppuntresourcegroep wijzigt of verwijdert. Zie Kan ik tags en andere eigenschappen van de AKS-resources in de knooppuntresourcegroep wijzigen voor meer informatie ?

Tags voor knooppuntresourcegroepen afstemmen

Gebruik de Azure CLI om ervoor te zorgen dat de knooppuntresourcegroep de juiste tags heeft voor de AKS-naam en de naam van de AKS-groep:

# Add or update tags for AKS name and AKS group name
az group update --name <node-resource-group-name> --set tags.AKS-Managed-Cluster-Name=<aks-managed-cluster-name> tags.AKS-Managed-Cluster-RG=<aks-managed-cluster-rg>

# Verify the tags
az group show --name <node-resource-group-name> --query "tags"

Controleer de resourcegroep om ervoor te zorgen dat de tags correct worden toegepast en of de resourcegroep werkt zoals verwacht.

Oorzaak 3: De resourcegroep van het clusterknooppunt is verwijderd

Het verwijderen van de clusterknooppuntresourcegroep veroorzaakt problemen bij het inrichten van de infrastructuurresources die vereist zijn voor het cluster, waardoor de automatische schaalaanpassing van clusters mislukt.

Oplossing: Werk het cluster bij naar de doelstatus zonder de configuratie te wijzigen

U kunt dit probleem oplossen door de volgende opdracht uit te voeren om de verwijderde virtuele machineschaalset of tags te herstellen (ontbrekende of gewijzigde):

Notitie

Het kan enkele minuten duren voordat de bewerking is voltooid.

Stel uw omgevingsvariabelen in voor de AKS-clusterresourcegroep en clusternaam voordat u de opdracht uitvoert. Een willekeurig achtervoegsel is opgenomen om naamconflicten te voorkomen tijdens herhaalbare uitvoeringen, maar u moet ervoor zorgen dat de resourcegroep en het cluster bestaan.

export RANDOM_SUFFIX=$(head -c 3 /dev/urandom | xxd -p)
export AKS_RG_NAME="MyAksResourceGroup$RANDOM_SUFFIX"
export AKS_CLUSTER_NAME="MyAksCluster$RANDOM_SUFFIX"
az aks update --resource-group $AKS_RG_NAME --name $AKS_CLUSTER_NAME --no-wait