Condividi tramite


Ripristino automatico del nodo del servizio Azure Kubernetes

Il servizio Azure Kubernetes monitora continuamente lo stato di integrità dei nodi di lavoro ed esegue il ripristino automatico dei nodi se diventano non integri. La piattaforma macchina virtuale di Azure esegue la manutenzione nelle macchine virtuali si verificano problemi. Il servizio Azure Kubernetes e le macchine virtuali di Azure interagiscono per ridurre al minimo le interruzioni del servizio per i cluster.

Questo articolo illustra il comportamento della funzionalità di ripristino automatico dei nodi per i nodi Windows e Linux.

Modalità di controllo del servizio Azure Kubernetes per i nodi NotReady

Il servizio Azure Kubernetes usa le regole seguenti per determinare se un nodo non è integro e richiede un ripristino:

  • Il nodo segnala lo stato NotReady nei controlli consecutivi entro un intervallo di tempo di 10 minuti.
  • Il nodo non segnala alcuno stato entro 10 minuti.

È possibile controllare manualmente lo stato di integrità dei nodi con il comando kubectl get nodes.

Funzionamento del ripristino automatico

Nota

Il servizio Azure Kubernetes avvia le operazioni di ripristino con l'account utente aks-remediator.

Se il servizio Azure Kubernetes identifica un nodo non integro che rimane non integro per almeno cinque minuti, il servizio Azure Kubernetes esegue le azioni seguenti:

  1. Il servizio Azure Kubernetes riavvia il nodo.
  2. Se il nodo rimane non integro dopo il riavvio, il servizio Azure Kubernetes ricrea l'immagine del nodo.
  3. Se il nodo rimane non integro dopo la ricreazione dell'immagine e si tratta di un nodo Linux, il servizio Azure Kubernetes ridistribuisce il nodo.

Il servizio Azure Kubernetes ritenta il riavvio, la ricreazione dell'immagine e la sequenza di ridistribuzione fino a tre volte se il nodo rimane non integro. Il processo di ripristino automatico complessivo può richiedere fino a un'ora per il completamento.

Limiti

Il ripristino automatico dei nodi del servizio Azure Kubernetes è un servizio con il massimo sforzo e non è garantito che il nodo venga ripristinato in stato integro. Se il nodo persiste in uno stato non integro, è consigliabile eseguire un'analisi manuale del nodo. Altre informazioni sulla risoluzione dei problemi relativi allo stato notReady del nodo.

In alcuni casi il servizio Azure Kubernetes non esegue il ripristino automatico. L'errore di ripristino automatico del nodo può verificarsi in base alla progettazione o se Azure non riesce a rilevare che esiste un problema. Alcuni esempi di quando il ripristino automatico non viene eseguito includono:

  • Lo stato di un nodo non viene segnalato a causa di un errore nella configurazione di rete.
  • Impossibile registrare inizialmente un nodo come nodo integro.
  • Se uno dei seguenti taints è presente nel nodo : node.cloudprovider.kubernetes.io/shutdown, ToBeDeletedByClusterAutoscaler.

Monitorare il ripristino automatico dei nodi usando gli eventi Kubernetes

Quando il servizio Azure Kubernetes esegue il ripristino automatico dei nodi nel cluster, il servizio Azure Kubernetes genera eventi Kubernetes dall'origine del ripristino automatico del servizio Azure Kubernetes per ottenere visibilità. Gli eventi seguenti vengono visualizzati in un oggetto node quando si verifica il ripristino automatico.

Per altre informazioni sull'accesso, l'archiviazione e la configurazione degli avvisi negli eventi Kubernetes, vedere Usare gli eventi Kubernetes per la risoluzione dei problemi in servizio Azure Kubernetes.

Motivo Messaggio dell'evento Descrizione
NodeRebootStart Il ripristino automatico del nodo sta avviando un'azione di riavvio a causa dello stato NotReady persistente per più di 5 minuti. Questo evento viene generato per notificare quando il riavvio sta per essere eseguito nel nodo. Questa azione è la prima nella sequenza di ripristino automatico del nodo complessivo.
NodeRebootEnd L'azione di riavvio dal ripristino automatico del nodo viene completata. Generato al termine del riavvio nel nodo. Questo evento non indica lo stato di integrità (integro o non integro) del nodo dopo l'esecuzione del riavvio.
NodeReimageStart Il ripristino automatico del nodo sta avviando un'azione di ricreazione dell'immagine a causa dello stato NotReady persistente per più di 5 minuti. Questo evento viene generato per notificare quando si sta per eseguire l'immagine di nuovo sul nodo.
NodeReimageEnd L'azione di ricreazione dell'immagine dal ripristino automatico del nodo viene completata. Generato una volta completata la ricreazione dell'immagine nel nodo. Questo evento non indica lo stato di integrità (integro o non integro) del nodo dopo l'esecuzione della ricreazione dell'immagine.
NodeRedeployStart Il ripristino automatico del nodo sta avviando un'azione di ridistribuzione a causa dello stato NotReady che persiste più di 5 minuti. Questo evento viene generato per notificare quando la ridistribuitura sta per essere eseguita nel nodo. Ridistribuire è l'ultima azione nella sequenza di ripristino automatico del nodo.
NodeRedeployEnd L'azione di ridistribuimento dal ripristino automatico del nodo viene completata. Generato una volta completata la ridistribuitura nel nodo. Questo evento non indica lo stato di integrità (integro o non integro) del nodo dopo l'esecuzione della ridistribuitura.

Se si verificano errori durante il processo di correzione automatica del nodo, gli eventi seguenti vengono generati con il messaggio di errore verbatim. Altre informazioni sulla risoluzione degli errori comuni di correzione automatica dei nodi.

Nota

Il codice di errore nei messaggi di evento seguenti varia a seconda dell'errore segnalato.

Motivo Messaggio dell'evento Descrizione
NodeRebootError L'azione di ripristino automatico del nodo non è riuscita a causa di un errore dell'operazione. Vedere i dettagli dell'errore qui: Codice errore Generato quando si verifica un errore con l'azione di riavvio.
NodeReimageError L'azione di ripristino automatico del nodo non è riuscita a causa di un errore dell'operazione. Vedere i dettagli dell'errore qui: Codice errore Generato quando si verifica un errore con l'azione di ricreazione dell'immagine.
NodeRedeployError L'azione di ridistribuzione del nodo non è riuscita a causa di un errore dell'operazione. Vedere i dettagli dell'errore qui: Codice errore Generato quando si verifica un errore con l'azione di ridistribuzione.

Passaggi successivi

Per impostazione predefinita, è possibile accedere agli eventi e ai log di Kubernetes nel cluster del servizio Azure Kubernetes dall'ultima ora. Per archiviare ed eseguire query su eventi e log degli ultimi 90 giorni, abilitare Informazioni dettagliate sui contenitori per una risoluzione più approfondita dei problemi nel cluster del servizio Azure Kubernetes.