View a markdown version of this page

Piano di controllo predisposto di Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

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à.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina su che si trova nel riquadro destro di ogni pagina.

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à.

Piano di controllo predisposto di Amazon EKS

Panoramica di

Amazon EKS Provisioned Control Plane è una funzionalità che consente agli amministratori del cluster di scegliere tra una serie di livelli di scalabilità e di designare il livello prescelto per ottenere prestazioni molto elevate e prevedibili dal piano di controllo del cluster. Ciò consente agli amministratori del cluster di garantire che il piano di controllo sia sempre dotato della capacità specificata.

Amazon EKS offre due modalità operative per il piano di controllo del cluster. Per impostazione predefinita, i cluster Amazon EKS utilizzano la modalità Standard, in cui il piano di controllo aumenta e diminuisce automaticamente in base alle esigenze del carico di lavoro. La modalità Standard alloca dinamicamente una capacità del piano di controllo sufficiente per soddisfare le esigenze dei carichi di lavoro ed è la soluzione consigliata per la maggior parte dei casi d'uso. Tuttavia, per carichi di lavoro specializzati che non possono tollerare alcuna variabilità delle prestazioni dovuta alla scalabilità del piano di controllo o che richiedono quantità molto elevate di capacità del piano di controllo, è possibile utilizzare facoltativamente la modalità Provisioned. La modalità provisioned consente di preallocare la capacità del piano di controllo, che è sempre pronta a gestire i requisiti impegnativi dei carichi di lavoro.

Nota

La modalità Provisioned è una modalità operativa aggiuntiva del piano di controllo oltre alla modalità Standard predefinita. L'introduzione della modalità Provisioned non modifica il comportamento della modalità Standard.

Con EKS Provisioned Control Plane, gli amministratori del cluster possono predisporre in anticipo la capacità del piano di controllo desiderata, fornendo prestazioni prevedibili e elevate dal piano di controllo del cluster che è sempre disponibile. EKS Provisioned Control Plane consente inoltre agli amministratori di cluster di fornire la stessa capacità del piano di controllo in tutti gli ambienti, dallo staging alla produzione e ai siti di disaster recovery. Ciò è importante per garantire che le prestazioni del piano di controllo ottenute in tutti gli ambienti siano coerenti e prevedibili. Infine, EKS Provisioned Control Plane consente di accedere a livelli molto elevati di prestazioni del piano di controllo, consentendo l'esecuzione di carichi di lavoro di intelligenza artificiale estremamente scalabili, calcolo ad alte prestazioni e carichi di lavoro di elaborazione dati su larga scala su Kubernetes.

Tutti i cluster Amazon EKS esistenti e nuovi funzionano in modalità Standard per impostazione predefinita. Per i cluster che richiedono prestazioni elevate e prevedibili dal piano di controllo, puoi scegliere di utilizzare la funzione EKS Provisioned Control Plane. Ti verrà addebitata la tariffa oraria per il particolare livello di scalabilità del piano di controllo, oltre alle tariffe orarie EKS del supporto standard o esteso. Per ulteriori informazioni sui prezzi, consulta i prezzi di Amazon EKS.

Modalità Amazon EKS Control Plane

Casi d’uso

EKS Provisioned Control Plane è progettato per affrontare scenari specifici in cui prestazioni elevate e prevedibili del piano di controllo sono fondamentali per le tue operazioni. La comprensione di questi casi d'uso può aiutarti a determinare se EKS Provisioned Control Plane è la soluzione giusta per i tuoi carichi di lavoro.

Performance-critical carichi di lavoro — Per i carichi di lavoro che richiedono una latenza minima e le massime prestazioni dal piano di controllo di Kubernetes, EKS Provisioned Control Plane offre una capacità che elimina la variabilità delle prestazioni grazie alla scalabilità del piano di controllo.

Carichi di lavoro altamente scalabili: se esegui carichi di lavoro altamente scalabili come l'addestramento e l'inferenza AI, il calcolo ad alte prestazioni o l'elaborazione di dati su larga scala che richiedono un numero elevato di nodi in esecuzione nel cluster, Provisioned Control Plane fornisce la capacità del piano di controllo necessaria per supportare questi carichi di lavoro impegnativi.

Eventi previsti ad alta richiesta: quando si prevede un improvviso aumento delle richieste dei piani di controllo a causa di un evento imminente, come vendite o promozioni di e-commerce, lanci di prodotti, festività natalizie o importanti eventi sportivi o di intrattenimento, Provisioned Control Plane consente di scalare in anticipo la capacità del piano di controllo. Questo approccio proattivo assicura che il piano di controllo sia pronto a gestire l'aumento del carico senza attendere che il ridimensionamento automatico risponda alla domanda.

Mission-critical alta disponibilità - Per i carichi di lavoro che richiedono i massimi livelli di disponibilità, Provisioned Control Plane offre un Service Level Agreement (SLA) del 99,99%, misurato a intervalli di 1 minuto. Questo SLA migliorato prevede un impegno di disponibilità più rigoroso rispetto allo SLA del 99,95% della modalità Standard Control Plane, misurato a intervalli di 5 minuti.

Coerenza dell'ambiente: il Provisioned Control Plane consente di abbinare la capacità e le prestazioni del piano di controllo in tutti gli ambienti di staging e produzione, aiutando a identificare potenziali problemi in anticipo prima dell'implementazione in produzione. Mantenendo lo stesso livello del piano di controllo in tutti gli ambienti, è possibile garantire che i risultati dei test riflettano accuratamente il comportamento di produzione, riducendo il rischio di sorprese legate alle prestazioni durante l'implementazione.

Disaster recovery e business continuity: per gli scenari di disaster recovery, Provisioned Control Plane consente di effettuare il provisioning degli ambienti di failover con lo stesso livello di capacità dell'ambiente principale. Ciò garantisce interruzioni minime e un ripristino rapido durante gli eventi di failover, poiché il cluster di disaster recovery avrà caratteristiche prestazionali del piano di controllo identiche a quelle del cluster di produzione dal momento in cui viene attivato.

Livelli di scalabilità del piano di controllo

EKS Provisioned Control Plane offre livelli di scalabilità denominati in base alle taglie delle magliette (XL, 2XL, 4XL e 8XL). Ogni livello definisce la propria capacità attraverso quattro attributi chiave che determinano le caratteristiche prestazionali del piano di controllo del cluster. La comprensione di questi attributi ti aiuta a selezionare il livello appropriato per i requisiti del carico di lavoro.

La concorrenza delle richieste API misura il numero di richieste che il server API del piano di controllo Kubernetes può elaborare contemporaneamente, il che è fondamentale per carichi di lavoro ad alto rendimento.

La frequenza di pianificazione dei pod indica la velocità con cui lo scheduler Kubernetes predefinito può pianificare i pod sui nodi, misurata in pod al secondo.

La dimensione del database del cluster indica lo spazio di archiviazione allocato a etcd, il database che contiene il cluster. state/metadata

Lo SLA (Service Level Agreement) indica l'impegno mensile di uptime dell'endpoint Kubernetes del cluster EKS

Quando si esegue il provisioning del piano di controllo del cluster su un determinato livello di scalabilità utilizzando Provisioned Control Plane, EKS assicura che il piano di controllo del cluster mantenga i limiti corrispondenti a quel livello. I limiti dei livelli di scalabilità del piano di controllo variano in base alla versione di Kubernetes, come mostrato nelle tabelle seguenti.

Da EKS da v1.30 a v1.33

Livello di scalabilità del piano di controllo fornito Concorrenza delle richieste API (postazioni) Tariffa di pianificazione dei pod () pods/sec Dimensione del database del cluster (GB) SLA (misurato a intervalli di 1 minuto)

XL

1700

167

16

99,99%

2XL

3400

283

16

99,99%

4XL

6800

400

16

99,99%

8XL

13600

400

16

99,99%

EKS v1.34 e versioni successive

Livello di scalabilità del piano di controllo fornito Concorrenza delle richieste API (postazioni) Tariffa di pianificazione dei pod () pods/sec Dimensione del database del cluster (GB) SLA (misurato a intervalli di 1 minuto)

XL

2000

167

16

99,99%

2XL

4000

283

16

99,99%

4XL

8000

400

16

99,99%

8XL

16000

400

16

99,99%

Monitoraggio del piano di controllo, scalabilità e utilizzo dei livelli

Amazon EKS fornisce diverse metriche per aiutarti a monitorare l'utilizzo dei livelli del tuo piano di controllo. Queste metriche sono pubblicate come parametri Amazon e sono accessibili tramite la CloudWatch console e CloudWatch EKS. Inoltre, queste metriche sono scaricabili dall'endpoint Prometheus del cluster EKS (vedi qui). Monitoraggio delle metriche del cluster con Prometheus

Metrica Prometheus CloudWatch Parametro

Concorrenza delle richieste API

apiserver_flowcontrol_current_executing_seats

apiserver_flowcontrol_current_executing_seats

Frequenza di pianificazione dei pod

scheduler_schedule_attempts_total

scheduler_schedule_attempts_total, scheduler_scheduler_atempts_scheduled, scheduler_schedule_attempts_unschedulable

Dimensioni del database del cluster

apiserver_storage_size_bytes (NOTA: etcd_mvcc_db_total_size_in_use_in_bytes verrà implementato come metrica prometheus per tutti i cluster EKS entro la seconda metà del 2026)

etcd_mvcc_db_total_size_in_use_in_bytes

Puoi visualizzare l'utilizzo del piano di controllo nella console Amazon EKS. Dalla pagina di panoramica del cluster, scegli Monitor cluster per accedere al dashboard di osservabilità, quindi seleziona la scheda Monitoraggio del piano di controllo per visualizzare l'utilizzo del piano di controllo nella sezione Ridimensionamento del piano di controllo.

Monitora il cluster EKS
Monitoraggio del piano di controllo EKS

Comprensione della capacità dei livelli rispetto alle prestazioni effettive

Quando si seleziona un livello di scalabilità del Provisioned Control Plane, gli attributi del livello rappresentano le configurazioni sottostanti che Amazon EKS applica al piano di controllo. Tuttavia, le prestazioni effettive ottenute dipendono dai modelli di carico di lavoro specifici, dalle configurazioni e dall'aderenza alle best practice di Kubernetes. Ad esempio, mentre un livello 4XL configura API Priority and Fairness (APF) con 6.800 postazioni di richieste simultanee, il throughput effettivo delle richieste ottenuto dal piano di controllo dipende dal tipo di operazioni eseguite. Ad esempio, Kubernetes penalizza le richieste di lista più di quelle get, e quindi il numero effettivo di richieste di lista elaborate contemporaneamente dal piano di controllo è inferiore alle richieste get. Per ulteriori informazioni, consulta la sezione API Priority and Fairness nella EKS Best Practices Guide. Allo stesso modo, sebbene lo scheduler predefinito QPS sia impostato su 400 per un livello 4XL, la velocità effettiva di pianificazione dei pod dipende da fattori come la disponibilità e l'integrità dei nodi per la pianificazione. Per ottenere prestazioni ottimali, assicurati che le tue applicazioni seguano le best practice di Kubernetes e siano configurate correttamente per le caratteristiche del carico di lavoro. Per ulteriori informazioni, consulta le best practice sulla scalabilità nella EKS Best Practices Guide.

Concorrenza di sincronizzazione Horizontal Pod Autoscaler

Oltre agli attributi del livello Control Plane Scaling, i cluster EKS Provisioned Control Plane sono ottimizzati con una maggiore concorrenza di sincronizzazione Horizontal Pod Autoscaler (HPA). La concorrenza di sincronizzazione HPA è il numero di oggetti HPA che il controller manager Kubernetes elabora in parallelo. L'impostazione predefinita upstream di Kubernetes è 5. Una maggiore concorrenza consente al piano di controllo di riconciliare più oggetti HPA contemporaneamente, riducendo il tempo tra una modifica del carico e la corrispondente azione di ridimensionamento. Ciò è utile per i cluster che eseguono un numero elevato di oggetti HPA, dove l'elaborazione in serie può ritardare la scalabilità automatica.

Ogni livello di scalabilità del Provisioned Control Plane è configurato con la seguente concorrenza di sincronizzazione HPA.

Livello di scalabilità del Control Plane con provisioning Concorrenza di sincronizzazione HPA

XL

50

2XL

100

4XL

200

8XL

200

È possibile osservare l'effetto di una maggiore concorrenza di sincronizzazione HPA tramite la metrica della coda di lavoro di Kubernetes controller manager per il controller HPA:

  • workqueue_depth{name="horizontalpodautoscaler"}— il numero di oggetti HPA in attesa di essere elaborati dal controller HPA. Con una maggiore concorrenza, più lavoratori esauriscono questa coda in parallelo, quindi la profondità rimane bassa e stabile (idealmente raggiungendo lo zero in ogni periodo di riconciliazione). Una profondità della coda di lavoro pari o prossima allo zero indica che il piano di controllo è al passo con gli oggetti HPA del cluster e che le decisioni relative alla scalabilità automatica non sono ritardate da un arretrato.

L'effettiva reattività di scalabilità automatica osservata dipende anche da fattori esterni al piano di controllo. Ogni riconciliazione HPA recupera le metriche che determinano la decisione di scalabilità, in genere dal Kubernetes Metrics Server per l'utilizzo della CPU e della memoria o da un adattatore di metriche personalizzato o esterno. Il numero di oggetti HPA nel cluster e la latenza di queste ricerche metriche influiscono entrambi sulla velocità con cui il controller può elaborare la coda. Se la fonte delle metriche non è in grado di soddisfare le richieste con sufficiente rapidità, le riconciliazioni rallentano indipendentemente dal numero di richieste elaborate in parallelo. L'esecuzione di un numero sufficiente di repliche di Metrics Server per soddisfare il volume delle richieste e l'ambito delle query metriche in modo efficiente ti aiuta a sfruttare appieno la maggiore concorrenza di sincronizzazione HPA. Per ulteriori informazioni su come funziona Horizontal Pod Autoscaler e su dove recupera le metriche, vedi Horizontal Pod Autoscaling sul sito web di Kubernetes. https://kubernetes.io/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/

Considerazioni

  • Capacità del piano di controllo standard — EKS La modalità piano di controllo standard offre il miglior rapporto prezzo/prestazioni ed è l'opzione consigliata per la maggior parte dei casi d'uso. Tuttavia, per carichi di lavoro specializzati che non possono tollerare alcuna variabilità delle prestazioni dovuta alla scalabilità del piano di controllo o che richiedono quantità molto elevate di capacità del piano di controllo, puoi opzionalmente prendere in considerazione l'utilizzo della modalità Provisioned.

  • Opt-in obbligatorio: i cluster esistenti non passeranno automaticamente dal piano di controllo standard a un livello EKS Provisioned Control Plane, più costoso. È necessario attivare esplicitamente uno dei nuovi livelli di scalabilità EKS Provisioned Control Plane.

  • Restrizione all'uscita: la modalità Standard Control Plane supporta fino a 8 GB di dimensioni del database cluster (etcd). Se la dimensione del database del cluster supera gli 8 GB mentre si utilizza la modalità Provisioned, non è possibile tornare alla modalità Standard finché non si riducono le dimensioni del database a meno di 8 GB. Ad esempio, se utilizzi 14 GB di spazio di archiviazione del database in modalità Provisioned, devi prima ridurre l'utilizzo del database a meno di 8 GB prima di tornare alla modalità Standard.

  • Nessun ridimensionamento automatico dei livelli: EKS Provisioned Control Plane non esegue automaticamente il ridimensionamento tra i livelli. Una volta selezionato un livello di scalabilità, il piano di controllo del cluster rimane bloccato su quel livello, garantendo prestazioni coerenti e prevedibili. Tuttavia, hai la flessibilità di implementare la tua soluzione di scalabilità automatica monitorando le metriche di utilizzo dei livelli e utilizzando le API EKS Provisioned Control Plane per aumentare o diminuire quando queste metriche superano le soglie definite, offrendoti il pieno controllo sulla tua strategia di scalabilità e sull'ottimizzazione dei costi.

  • Visualizzazione del livello corrente: puoi utilizzare la console Amazon EKS, l'interfaccia a riga di comando di Amazon Web Services o l'API per visualizzare l'attuale livello di scalabilità del piano di controllo. Nella CLI, puoi eseguire il comando: describe-cluster aws eks describe-cluster --name cluster-name

  • Tempo di transizione dei livelli: puoi utilizzare la console Amazon EKS, le API Amazon EKS o la CLI per uscire o passare da un livello di scalabilità all'altro. Amazon EKS ha introdotto un nuovo tipo di aggiornamento del cluster chiamato «ScalingTierConfigUpdate,» che puoi controllare per monitorare l'avanzamento della transizione. Dopo aver eseguito un comando di modifica del livello, puoi elencare gli aggiornamenti sul cluster per visualizzare un nuovo aggiornamento di tipo ScalingTierConfigUpdate con statoUpdating. Lo stato cambia Successful al termine dell'aggiornamento o in Failed caso di errore. Il campo di errore nell'aggiornamento indica il motivo dell'errore. Non ci sono restrizioni sulla frequenza con cui puoi passare da un livello all'altro. Il completamento della modifica del livello del piano di controllo richiede diversi minuti. Non ci sono tempi di inattività del server API durante questo processo, poiché EKS attiva nuovi server API prima di chiudere quelli vecchi.

  • Selezione del livello ottimale: per determinare il livello di scalabilità ottimale del Provisioned Control Plane per il cluster, puoi eseguire un test di carico eseguendo il provisioning del cluster sul livello più alto (8XL). Quindi esegui un test di carico per simulare i picchi di domanda sul piano di controllo del cluster. Osserva le metriche di utilizzo dei livelli del piano di controllo al picco di carico e utilizza queste osservazioni come fattore guida per selezionare il livello appropriato per la modalità Provisioned.

  • Prezzi del Provisioned Control Plane: ti verrà addebitata la tariffa oraria per il livello di scalabilità del Provisioned Control Plane in cui si trova il cluster. Ciò si aggiunge alle tariffe orarie del supporto standard o esteso. Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon EKS.

  • Livello di scalabilità più ampio: se intendi eseguire il cluster su un livello di scalabilità superiore a 8XL, contatta il team del tuo account Amazon Web Services per ulteriori informazioni sui prezzi.

  • Supporto per versioni e regioni di Kubernetes: EKS Provisioned Control Plane è supportato in tutte le regioni commerciali e cinesi di Amazon Web Services. GovCloud Provisioned Control Plane funziona su EKS v1.28 e versioni successive.

  • SLA più elevato - EKS Provisioned Control Plane offre un EKS SLA più elevato rispetto al Standard Control Plane. Scopri di più nella pagina EKS SLA.