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 delle macchine virtuali di Azure esegue la manutenzione nelle macchine virtuali che riscontrano 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.

Come il servizio Azure Kubernetes controlla 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 la sequenza di riavvio, ricreazione dell'immagine e ridistribuzione fino a tre volte se il nodo rimane non integro. Il processo di riparazione auto complessivo può richiedere fino a un'ora per essere completato.

Limiti

Il ripristino automatico dei nodi AKS è un servizio "best effort" e non garantiamo che il nodo venga ripristinato in uno stato di salute integro. Se il nodo persiste in uno stato non integro, è consigliabile eseguire un'analisi manuale del nodo. Scopri di più sulla risoluzione dei problemi relativi allo stato NotReady del nodo.

In alcuni casi AKS 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.
  • Non è stato possibile registrare inizialmente un nodo come nodo funzionante.
  • Se nel nodo è presente uno dei taint seguenti: node.cloudprovider.kubernetes.io/shutdown, ToBeDeletedByClusterAutoscaler.
  • Un nodo è in corso di aggiornamento, con conseguente annotazione seguente nel nodo "cluster-autoscaler.kubernetes.io/scale-down-disabled": "true" e "kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"

Monitorare il ripristino automatico dei nodi usando gli eventi Kubernetes

Quando AKS esegue la riparazione automatica dei nodi nel cluster, AKS emette eventi Kubernetes dalla sorgente aks-auto-repair per garantire 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 iniziando 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 è stata 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 che si sta per eseguire un ripristino dell'immagine sul nodo.
NodeReimageEnd L'azione di ricreazione dell'immagine dal ripristino automatico del nodo è stata 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 persistente per più di 5 minuti. Questo evento viene generato per notificare quando la ridistribuitura sta per essere eseguita nel nodo. La ridistribuzione è l'ultima azione nella sequenza di ripristino automatico del nodo.
NodeRedeployEnd L'azione di ridistribuzione dal ripristino automatico del nodo è stata completata. Generato una volta completata la ridistribuzione sul 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. Ulteriori informazioni sulla risoluzione dei problemi 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 ricreazione dell'immagine del 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 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 ridistribuzione.

Passaggi successivi

Per impostazione predefinita, è possibile accedere agli eventi e ai log di Kubernetes nel cluster AKS dell'ultima ora. Per archiviare ed eseguire query su eventi e log degli ultimi 90 giorni, abilitare Container Insights per una diagnosi più approfondita nel cluster AKS.