Dela via


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

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:

  1. 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.

  2. Skapa en nodpool i det nya undernätet genom att köra kommandot az aks nodepool add tillsammans med parametern --vnet-subnet-id .

  3. 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.

  4. 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.