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
- Interfaccia della riga di comando di Azure (versione 2.0.59 o successiva)
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".
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 in base al plug-in di rete usato dal cluster. Per informazioni sulla modalità di allocazione degli indirizzi IP in ognuno di questi modelli di rete, vedere Concetti di rete per le applicazioni nel servizio Azure Kubernetes.
Note
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 di trasmissione. Per altre informazioni, vedere Esistono restrizioni sull'uso di indirizzi IP all'interno di tali 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:
Creare una subnet nella rete virtuale del cluster che contiene un intervallo di indirizzi CIDR maggiore rispetto alla subnet esistente. Per informazioni su come ridimensionare adeguatamente la subnet per il cluster, vedere Pianificare l'indirizzamento IP per il cluster.
Creare un pool di nodi nella nuova subnet eseguendo il comando az aks nodepool add insieme al
--vnet-subnet-id
parametro .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.
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.