Architettura di Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Architettura di Amazon EKS

Amazon EKS segue l’architettura generale dei cluster di Kubernetes. Per ulteriori informazioni, consultare la pagina Kubernetes Components nella documentazione Kubernetes. Le seguenti sezioni riassumono alcuni dettagli aggiuntivi sull'architettura di Amazon EKS.

Piano di controllo (control-plane)

Amazon EKS garantisce che ogni cluster abbia un proprio piano di controllo Kubernetes specifico. Questo design mantiene separata l’infrastruttura di ciascun cluster, senza sovrapposizioni tra cluster o account AWS. La configurazione include:

Componenti distribuiti

Il piano di controllo colloca almeno due istanze del server API e tre istanze etcd in tre zone di disponibilità AWS all’interno di una Regione AWS.

Prestazioni ottimali

Amazon EKS monitora e regola attivamente le istanze del piano di controllo per mantenere le massime prestazioni.

Resilienza

Se un'istanza del piano di controllo fallisce, Amazon EKS la sostituisce rapidamente, utilizzando all'occorrenza zone di disponibilità diverse.

Tempo di attività costante

Eseguendo i cluster su più zone di disponibilità, si consegue l'affidabilità dell'Accordo sul livello di servizio (SLA) sulla disponibilità degli endpoint dei server API.

Amazon EKS utilizza Amazon Virtual Private Cloud (Amazon VPC) per limitare il traffico tra i componenti del piano di controllo all'interno di un singolo cluster. I componenti del cluster non sono in grado di visualizzare o ricevere comunicazioni da altri cluster o altri account AWS, a eccezione di quanto autorizzato con le policy di controllo degli accessi basato sul ruolo (RBAC) Kubernetes.

Calcolo

Oltre al piano di controllo, un cluster Amazon EKS dispone di un set di macchine di lavoro chiamate nodi. La selezione del tipo di nodo del cluster Amazon EKS appropriato è fondamentale per soddisfare i propri requisiti specifici e ottimizzare l'utilizzo delle risorse. Amazon EKS offre i seguenti tipi di nodi primari:

Modalità automatica EKS

La modalità automatica EKS estende la gestione AWS oltre il piano di controllo (control-plane) fino a includere il piano dati, automatizzando la gestione dell’infrastruttura del cluster. Integra le funzionalità di base di Kubernetes come componenti integrati, tra cui scalabilità automatica del calcolo, rete, bilanciamento del carico, DNS, archiviazione e supporto della GPU. La modalità automatica EKS gestisce i nodi in modo dinamico in base alle richieste del carico di lavoro, utilizzando AMI immutabili con funzionalità di sicurezza avanzate. Automatizza aggiornamenti e upgrade rispettando i budget per le interruzioni dei pod e include componenti gestiti che altrimenti richiederebbero la gestione di componenti aggiuntivi. Questa opzione è ideale per gli utenti che desiderano sfruttare le competenze AWS per le operazioni quotidiane, ridurre al minimo il sovraccarico operativo e concentrarsi sullo sviluppo di applicazioni e non sulla gestione dell’infrastruttura.

AWS Fargate

Fargate è un motore di elaborazione serverless per container che elimina la necessità di gestire le istanze sottostanti. Con Fargate, è possibile specificare le esigenze di risorse di un’applicazione e AWS esegue automaticamente il provisioning, la scalabilità e la manutenzione dell’infrastruttura. Questa opzione è ideale per gli utenti che danno priorità alla facilità d'uso e vogliono concentrarsi sullo sviluppo e sull'implementazione delle applicazioni anziché sulla gestione dell'infrastruttura.

Karpenter

Karpenter è un cluster autoscaler Kubernetes flessibile e ad alte prestazioni che aiuta a migliorare la disponibilità delle applicazioni e l’efficienza del cluster. Karpenter avvia risorse di calcolo dimensionate in modo ottimale in risposta alla modifica del carico dell’applicazione. Questa opzione consente di fornire risorse di elaborazione just-in-time che soddisfano i requisiti del carico di lavoro.

Gruppi di nodi gestiti

I gruppi di nodi gestiti sono una combinazione di automazione e personalizzazione per la gestione di una raccolta di istanze Amazon EC2 all'interno di un cluster Amazon EKS. AWS si occupa di attività come l'applicazione di patch, l'aggiornamento e il dimensionamento dei nodi, semplificando gli aspetti operativi. Parallelamente, sono supportati gli argomenti kubelet personalizzati, che offrono la possibilità di creare policy avanzate per la gestione della CPU e della memoria. Inoltre, la sicurezza viene migliorata tramite ruoli AWS Identity and Access Management (IAM) per gli account di servizio, riducendo al contempo la necessità di autorizzazioni separate per ciascun cluster.

Nodi autogestiti

I nodi autogestiti offrono il pieno controllo sulle proprie istanze Amazon EC2 all'interno di un cluster Amazon EKS. L'utente è responsabile della gestione, del dimensionamento e della manutenzione dei nodi, disponendo del controllo totale sull'infrastruttura sottostante. Questa opzione è consigliata per gli utenti che necessitano di controllo e personalizzazione granulari dei propri nodi e sono pronti a investire tempo nella gestione e nella manutenzione della propria infrastruttura.

Amazon EKS Hybrid Nodes

Con Amazon EKS Hybrid Nodes è possibile utilizzare l’infrastruttura on-premises ed edge come nodi nei cluster Amazon EKS. Amazon EKS Hybrid Nodes unifica la gestione di Kubernetes tra gli ambienti e affida la gestione del piano di controllo (control-plane) Kubernetes ad AWS per le applicazioni on-premises ed edge.