Risolvere i problemi relativi al codice di errore SubnetIsFull

Questo articolo illustra come identificare e risolvere l'errore SubnetIsFull che si verifica quando si tenta di ridimensionare un cluster Microsoft servizio Azure Kubernetes (AKS).

Prerequisiti

Sintomi

Quando si tenta di ridimensionare un cluster del servizio Azure Kubernetes, viene visualizzato il messaggio di errore seguente:

"code": "SubnetIsFull"

"message": "Subnet subnet-name with address prefix subnet-prefix does not have enough capacity for new-ip-count IP addresses": "Subnet <subnet-name> with address prefix <subnet-prefix> does not have enough capacity for <new-ip-count> IP addresses."

Causa

Per aggiungere nodi a un cluster del servizio Azure Kubernetes (scalabilità orizzontale), è necessario usare più indirizzi IP dalla subnet in cui viene distribuito il pool di nodi. Il numero esatto di nuovi indirizzi IP necessari per completare correttamente un'operazione di scalabilità del cluster varia a seconda del plug-in di rete usato dal cluster. Per informazioni su come vengono allocati gli indirizzi IP in ognuno di questi modelli di rete, vedere Concetti di rete per le applicazioni nel servizio Azure Kubernetes.

Nota

Azure riserva cinque indirizzi IP per subnet. Il primo indirizzo nella subnet è per l'ID di rete, seguito da tre indirizzi usati internamente da Azure. L'ultimo indirizzo nella subnet è riservato ai pacchetti broadcast. Per altre informazioni, vedere Esistono restrizioni sull'uso di indirizzi IP all'interno di queste subnet?

Soluzione

Il tentativo di aggiornare lo spazio indirizzi CIDR (Classless Inter-Domain Routing) di una subnet in un pool di nodi esistente non è attualmente supportato. Per eseguire la migrazione dei carichi di lavoro a un nuovo pool di nodi in una subnet più grande, seguire questa procedura:

  1. Creare una subnet nella rete virtuale del cluster che contiene un intervallo di indirizzi CIDR più grande rispetto alla subnet esistente. Per informazioni su come ridimensionare adeguatamente la subnet per il cluster, vedere Pianificare gli indirizzi IP per il cluster.

  2. Creare un pool di nodi nella nuova subnet eseguendo il comando az aks nodepool add insieme al --vnet-subnet-id parametro .

  3. Eseguire la migrazione dei carichi di lavoro al nuovo pool di nodi svuotando i nodi nel pool di nodi precedente. Per informazioni su come svuotare in modo sicuro i nodi di lavoro del servizio Azure Kubernetes, vedere Svuotare in modo sicuro un nodo.

  4. Eliminare il pool di nodi originale eseguendo il comando az aks nodepool delete .

Ulteriori informazioni

Dichiarazione di non responsabilità di contatti di terze parti

Microsoft fornisce informazioni di contatto di terze parti per aiutarti a trovare ulteriori informazioni su questo argomento. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni di contatto di terze parti.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.