Felsöka felkoden SubnetIsFull
Den här artikeln beskriver hur du identifierar och löser felet SubnetIsFull
som uppstår när du försöker skala ett Microsoft Azure Kubernetes Service-kluster (AKS).
Förutsättningar
- Azure CLI (version 2.0.59 eller senare)
Symptom
När du försöker skala ett AKS-kluster får du följande felmeddelande:
"code": "SubnetIsFull"
"message": "Subnet subnet-name <> with address prefix <subnet-prefix> does not have enough capacity for <new-ip-count> IP addresses."
Orsak
Om du vill lägga till noder i ett AKS-kluster (skala ut) måste du använda fler IP-adresser från undernätet där nodpoolen distribueras. Det exakta antalet nya IP-adresser som krävs för att slutföra en klusterskalningsåtgärd varierar beroende på vilket nätverksprogram som klustret använder. Information om hur IP-adresser allokeras under var och en av dessa nätverksmodeller finns i Nätverksbegrepp för program i AKS.
Obs!
Azure reserverar fem IP-adresser per undernät. Den första adressen i undernätet är för nätverks-ID:t följt av tre adresser som används internt av Azure. Den sista adressen i undernätet är reserverad för sändningspaket. Mer information finns i Finns det några begränsningar för att använda IP-adresser i dessa undernät?
Lösning
Det går för närvarande inte att uppdatera adressutrymmet för klasslös Inter-Domain routning (CIDR) i ett undernät i en befintlig nodpool. Så här migrerar du dina arbetsbelastningar till en ny nodpool i ett större undernät:
Skapa ett undernät i klustrets virtuella nätverk som innehåller ett större CIDR-adressintervall än det befintliga undernätet. Information om hur du storleksanpassar undernätet för klustret finns i Planera IP-adressering för klustret.
Skapa en nodpool i det nya undernätet genom att köra kommandot az aks nodepool add tillsammans med parametern
--vnet-subnet-id
.Migrera dina arbetsbelastningar till den nya nodpoolen genom att tömma noderna i den gamla nodpoolen. Information om hur du på ett säkert sätt tömmer AKS-arbetsnoder finns i Töm en nod på ett säkert sätt.
Ta bort den ursprungliga nodpoolen genom att köra kommandot az aks nodepool delete .
Mer information
Ansvarsfriskrivning för tredje part
Microsoft tillhandahåller kontaktinformation från tredje part som hjälper dig att hitta ytterligare information om det här ämnet. Denna kontaktinformation kan ändras utan föregående meddelande. Microsoft garanterar inte att kontaktinformation från tredje part är korrekt.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.