Ripristino automatico del nodo del servizio Azure Kubernetes

Si applica a: ✔️ AKS Automatic ✔️ AKS Standard

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.

Per la maggior parte dei carichi di lavoro di produzione, AKS Automatic è l'esperienza predefinita pronta per la produzione consigliata per AKS. I cluster AKS Automatic e AKS Standard sono preconfigurati con il ripristino automatico dei nodi.

Questo articolo illustra il funzionamento del ripristino automatico del nodo, quando si attivano le azioni di ripristino, quali limitazioni si applicano e come monitorare gli eventi di ripristino.

Comportamento di ripristino automatico del nodo in base alla modalità cluster

Entrambe le modalità del cluster AKS sono preconfigurate con la riparazione automatica dei nodi:

  • AKS Automatic: preconfigurato come parte delle impostazioni predefinite pronte per la produzione di AKS Automatic.
  • Servizio Azure Kubernetes Standard: preconfigurato nei cluster del servizio Azure Kubernetes Standard senza configurazione aggiuntiva.

Entrambe le modalità usano gli stessi controlli di integrità dei nodi e la stessa sequenza di ripristino descritta in questo articolo.

Per altre informazioni sulle impostazioni predefinite della piattaforma automatica del servizio Azure Kubernetes, vedere Che cos'è Servizio Azure Kubernetes (AKS) Automatico?

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, AKS ne reimposta l'immagine.
  3. Se, dopo il reimaging, il nodo continua a non funzionare e si tratta di un nodo Linux, AKS esegue di nuovo il deployment del nodo.

AKS ritenta la sequenza di riavvio, reimaging e redistribuzione fino a tre volte se il nodo continua a non essere integro. Il completamento del processo di ripristino automatico complessivo può richiedere fino a un'ora.

Considerazioni sulla produzione

Il ripristino automatico dei nodi è un meccanismo di resilienza principale, ma è combinato con le procedure di resilienza a livello di carico di lavoro:

  • Eseguire carichi di lavoro critici con più repliche.
  • Usate i PodDisruptionBudgets e le probe di readiness per ridurre l'impatto visibile agli utenti.
  • Monitorare l'attività di ripristino e gli eventi di errore per rilevare i problemi ripetuti del nodo.
  • Integrare le tempistiche di autoriparazione negli SLO/SLA e nella pianificazione della risposta agli incidenti.

Limiti

La riparazione automatica dei nodi di AKS è un servizio fornito secondo il principio del massimo sforzo. AKS non garantisce che un nodo venga ripristinato a uno stato di integrità in ogni scenario. Se un nodo rimane non integro, eseguire un'analisi manuale. Per altre informazioni, vedere Risolvere i problemi relativi allo stato notReady del nodo.

AKS potrebbe non eseguire la riparazione automatica negli scenari seguenti:

  • Un errore di configurazione di rete impedisce la segnalazione dello stato di un nodo.
  • Un nodo non riesce a registrarsi come nodo funzionante.
  • Un nodo presenta uno dei seguenti taint:
    • node.cloudprovider.kubernetes.io/shutdown
    • ToBeDeletedByClusterAutoscaler
  • Un nodo viene aggiornato e presenta le annotazioni seguenti:
    • "cluster-autoscaler.kubernetes.io/scale-down-disabled": "true"
    • "kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"

Monitorare il ripristino automatico dei nodi usando gli eventi Kubernetes

Quando AKS esegue l'autoriparazione dei nodi, genera eventi di Kubernetes dall'origine aks-auto-repair. Gli eventi seguenti vengono visualizzati in un oggetto node quando si verifica il ripristino automatico.

Per altre informazioni su come accedere agli eventi Kubernetes, archiviarli e configurare avvisi, vedere Usare gli eventi Kubernetes per risolvere i problemi in AKS.

Motivo Messaggio dell'evento Descrizione
NodeRebootStart L'auto-riparazione del nodo sta avviando un riavvio poiché lo stato NotReady persiste da più di cinque minuti. Questo evento invia una notifica 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 La riparazione automatica del nodo sta avviando un'operazione di reimaging poiché lo stato NotReady persiste da più di cinque minuti. Questo evento ti notifica quando sta per essere effettuata la reimpostazione dell'immagine sul tuo 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 che persiste più di cinque minuti. Questo evento ti notifica quando la ridistribuzione sta per essere eseguita sul tuo 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 l'auto-riparazione del nodo, AKS emette i seguenti eventi con il messaggio di errore testuale. Per altre informazioni, vedere Risoluzione degli errori comuni di correzione automatica dei nodi.

Nota

Il codice di errore nei messaggi di evento seguenti varia in base all'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.