Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Comprendi lo sfratto dei pod durante le interruzioni zonali
Quando si verifica un'interruzione completa della zona di disponibilità, ovvero quando tutti i nodi di quella zona di disponibilità perdono la connettività al piano di controllo di Kubernetes, il controller del ciclo di vita del nodoTerminating Durante questo periodo, i nodi interessati mostrano uno NotReady stato, lo scheduler impedisce l'inserimento di nuovi pod su tali nodi e il EndpointSlice controller rimuove gli endpoint associati alla zona di disponibilità compromessa dal routing del servizio fino al ripristino della connettività.
Per gli scenari che comportano guasti parziali dei nodi all'interno di una zona, in cui solo un sottoinsieme di nodi diventa irraggiungibile, il controller del ciclo di vita del nodo applica un comportamento di sfratto diverso. Se l'interruzione persiste oltre il periodo di tolleranza configurato (per impostazione predefinita, cinque minuti), i pod sui nodi disconnessi vengono contrassegnati come e i nuovi pod vengono programmati su nodi integri nelle zone di disponibilità disponibili. Terminating
Implementazione del trasferimento zonale di Amazon EKS per una migliore resilienza
Il trasferimento di zona di Amazon EKS, che si integra con Amazon Application Recovery Controller (ARC), fornisce un meccanismo per gestire in modo proattivo il traffico durante le limitazioni della zona di disponibilità. Questa funzionalità consente il reindirizzamento temporaneo del traffico di rete da una zona di disponibilità non integra verso zone integre all'interno della stessa per ridurre al minimo le interruzioni del servizio. Regione AWS
Comprensione del meccanismo di spostamento zonale
Lo spostamento di zona di Amazon EKS affronta il traffico est-ovest (comunicazione tra pod all'interno del cluster). Quando lo spostamento zonale è configurato con Application Load Balancers o Network Load Balancers, supporta anche il routing del traffico in ingresso. Il meccanismo funziona coordinando più componenti di Kubernetes e del piano di AWS controllo per reindirizzare il traffico in modo sicuro senza interrompere i carichi di lavoro in esecuzione. Durante un cambio di zona attivo, Amazon EKS esegue automaticamente le seguenti azioni coordinate:
-
Cordonamento dei nodi: tutti i nodi nella zona di disponibilità ridotta sono cordonati. Ciò impedisce allo scheduler Kubernetes di inserire nuovi pod sui nodi mentre mantiene i carichi di lavoro esistenti.
-
Sospensione del ribilanciamento delle zone di disponibilità: per i gruppi di nodi gestiti, le operazioni di ribilanciamento delle zone di disponibilità vengono sospese e i gruppi di Auto Scaling vengono aggiornati per lanciare nuovi nodi del piano dati esclusivamente nelle zone di disponibilità integre. Ciò garantisce che non venga fornita nuova capacità nella zona compromessa.
-
Rimozione degli endpoint: il EndpointSlice controller rimuove gli endpoint dei pod nella zona di disponibilità compromessa da tutti i dispositivi pertinenti. EndpointSlices Ciò garantisce che i meccanismi di rilevamento dei servizi e di bilanciamento del carico indirizzino il traffico solo verso i pod che funzionano in zone di disponibilità funzionanti.
-
Conservazione del carico di lavoro: Amazon EKS si astiene dal chiudere i nodi o rimuovere i pod nella zona di disponibilità interessata. Mantiene la piena capacità nella zona compromessa in modo che, quando il turno zonale scade o viene annullato, il traffico possa rientrare in sicurezza senza richiedere ulteriori operazioni di ridimensionamento.
Metodi di attivazione del turno zonale
È possibile scegliere tra due approcci per avviare i cambiamenti zonali, a seconda del modello operativo:
-
Lo spostamento zonale manuale fornisce il controllo guidato dall'operatore quando vengono rilevati problemi specifici relativi alla zona di disponibilità tramite monitoraggio, avvisi o segnalazioni dei clienti. Questo metodo richiede un'azione esplicita tramite la console ARC, AWS Command Line Interface (AWS CLI) o il cambio di zona APIs, in cui gli operatori specificano la zona di disponibilità ridotta e definiscono un orario di scadenza per il turno. I turni manuali sono appropriati quando i team dispongono di funzionalità dedicate di monitoraggio e di chiamata e preferiscono mantenere il controllo diretto sulle decisioni di gestione del traffico.
-
L'autoshift zonale AWS autorizza ad avviare automaticamente i turni quando ARC rileva potenziali guasti o alterazioni della zona di disponibilità sulla base di segnali telemetrici e sanitari interni su più segnali, Servizi AWS tra cui metriche di rete, Amazon Elastic Compute Cloud (Amazon) ed Elastic Load Balancing. EC2 AWS termina automaticamente uno spostamento automatico quando gli indicatori indicano che il problema è stato risolto. Se si desidera garantire la massima disponibilità con un intervento manuale minimo, si consiglia questo approccio, in quanto consente di rispondere in meno di un minuto ai problemi rilevati nella zona di disponibilità.
Prerequisiti per un effettivo cambiamento di zona
Affinché lo spostamento zonale protegga con successo le applicazioni durante i problemi relativi alla zona di disponibilità, è necessario progettare i cluster in modo da garantire la resilienza Multi-AZ prima di abilitare la funzionalità di spostamento zonale:
-
Distribuzione dei nodi Multi-AZ: esegui il provisioning dei nodi di lavoro su almeno tre zone di disponibilità per garantire una ridondanza sufficiente quando una zona diventa non disponibile.
-
Pianificazione della capacità: predisponi in anticipo una capacità di elaborazione sufficiente in zone di disponibilità integre per soddisfare l'intero carico di lavoro quando una zona di disponibilità viene rimossa dal servizio, poiché le operazioni di scalabilità durante un'interruzione attiva potrebbero comportare una capacità insufficiente.
-
Distribuzione su pod e pre-scalabilità: distribuisci più repliche di ogni applicazione in tutte le zone di disponibilità e prescala componenti di sistema critici come CoredNS in ogni zona. Questo aiuta a garantire che rimanga una capacità sufficiente dopo lo spostamento di una zona.
Raccomandazioni per la resilienza alle perturbazioni zonali
-
Abilita lo spostamento di zona alla creazione del cluster: per i nuovi cluster EKS, abilita l'integrazione dello spostamento di zona con ARC durante il provisioning iniziale tramite la console Amazon EKS o strumenti Infrastructure as Code (IaC) come. AWS CLI AWS CloudFormation I cluster EKS Auto Mode creati con configurazione rapida hanno lo spostamento zonale abilitato per impostazione predefinita.
-
Seleziona il metodo di attivazione appropriato: scegli lo spostamento automatico zonale per ambienti di produzione che richiedono la massima disponibilità con risposta automatizzata, in particolare per le applicazioni rivolte ai clienti in cui minuti di inattività durante una violazione della zona di disponibilità possono avere un impatto aziendale significativo. Utilizza lo spostamento zonale manuale per ambienti in cui i team operativi preferiscono fornire un'approvazione esplicita prima dei cambiamenti di traffico o in cui i test e la convalida delle applicazioni sono ancora in corso.
-
Verifica la resilienza prima dell'implementazione in produzione: convalida il comportamento del cluster in caso di perdita Single-AZ avviando manualmente i turni zonali di test o abilitando le pratiche di spostamento automatico delle zone per verificare che le applicazioni mantengano la disponibilità, le prestazioni rimangano accettabili e la capacità sia sufficiente quando si opera con un numero ridotto di zone di disponibilità. Consigliamo vivamente questo test in modo da poter identificare le lacune di configurazione prima che si verifichino danni effettivi alla zona di disponibilità.
-
Coordina la configurazione con il load balancer: per le applicazioni che ricevono traffico esterno, abilita lo spostamento zonale ARC sugli Application Load Balancer e Network Load Balancer associati per garantire che il traffico in ingresso e il traffico est-ovest all'interno del cluster si spostino contemporaneamente durante i problemi relativi alla zona di disponibilità. Questo coordinamento previene gli scenari in cui le richieste esterne raggiungano i pod integri ma tali pod non possono comunicare con le dipendenze nella zona spostata.
-
Monitora le operazioni a turni: dopo aver abilitato il cambiamento zonale, configura il monitoraggio e gli avvisi per gli eventi relativi ai turni, tra cui le attivazioni dello spostamento automatico, l'avvio manuale dei turni e le scadenze dei turni, per mantenere la visibilità operativa sulle azioni di gestione del traffico e sul loro impatto sul comportamento delle applicazioni.
Completamento e ripristino dei turni
Quando un turno di zona scade in base alla durata configurata o viene annullato manualmente dopo la risoluzione del problema relativo alla zona di disponibilità, il EndpointSlice controller aggiorna automaticamente tutto EndpointSlices per reincorporare gli endpoint nella zona di disponibilità ripristinata. Il traffico torna gradualmente alla zona interessata in precedenza man mano che i client aggiornano le informazioni sugli endpoint e stabiliscono nuove connessioni. Ciò consente l'utilizzo completo della capacità del cluster senza richiedere l'intervento manuale o la riprogrammazione dei pod.