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 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à.
Architettura di Amazon EKS
Amazon EKS segue l’architettura generale dei cluster di Kubernetes. Per ulteriori informazioni, consultare la pagina Kubernetes Components
Piano di controllo
Amazon EKS garantisce che ogni cluster abbia un proprio piano di controllo Kubernetes specifico. Questo design mantiene l'infrastruttura di ciascun cluster separata, senza sovrapposizioni tra cluster o account. AWS La configurazione include:
- Componenti distribuiti
-
Il piano di controllo posiziona almeno due istanze del server API e tre istanze etcd
in tre zone di AWS disponibilità 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 una zona di disponibilità diversa, se necessario.
- 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 possono visualizzare o ricevere comunicazioni da altri cluster o AWS account, tranne quando autorizzati dalle politiche di controllo degli accessi basato sui ruoli (RBAC) di 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
-
EKS Auto Mode estende la AWS gestione oltre il piano di controllo per 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 AWS competenze per le operazioni quotidiane, ridurre al minimo il sovraccarico operativo e concentrarsi sullo sviluppo di applicazioni piuttosto che sulla gestione dell'infrastruttura.
- AWS Fargate
-
Fargate è un motore di elaborazione serverless per container che elimina la necessità di gestire le istanze sottostanti. Fargate consente di specificare le esigenze di risorse dell'applicazione e di effettuare AWS 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 ridimensionamento dei nodi, semplificando gli aspetti operativi. Parallelamente, sono supportati gli argomenti
kubeletpersonalizzati, che offrono la possibilità di creare policy avanzate per la gestione della CPU e della memoria. Inoltre, migliorano la sicurezza tramite i ruoli AWS Identity and Access Management (IAM) per gli account di servizio, riducendo al contempo la necessità di autorizzazioni separate per cluster. - Self-managed nodi
-
Self-managed i nodi offrono il controllo completo sulle 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 Kubernetes alle applicazioni locali e periferiche. AWS
Funzionalità EKS
Amazon EKS offre funzionalità di cluster completamente gestite, installando e gestendo le API Kubernetes (con Kubernetes Custom Resource Definitions) nel cluster e gestendo controller e altri componenti in AWS un'infrastruttura di proprietà, separata dal cluster. EKS fornisce patch, scalabilità e monitoraggio automatizzati di queste funzionalità, gestendone completamente il ciclo di vita per ridurre il carico di lavoro dei servizi in cluster per l'orchestrazione dei carichi di lavoro, la gestione delle risorse e altro ancora. AWS
EKS offre i seguenti tipi di funzionalità:
- AWS Controller per Kubernetes (ACK)
-
AWS Controllers for Kubernetes (ACK) ti consente di gestire le AWS risorse utilizzando le API Kubernetes, consentendoti di definire bucket S3, database RDS, ruoli IAM e altre risorse come risorse personalizzate Kubernetes. AWS Puoi gestire AWS le risorse insieme ai carichi di lavoro Kubernetes utilizzando gli stessi strumenti e flussi di lavoro, con supporto per oltre 50 AWS servizi tra cui S3, RDS, DynamoDB e Lambda.
- CD Argo
-
Argo CD implementa la distribuzione GitOps-based continua per i carichi di lavoro delle applicazioni, AWS le risorse e la configurazione del cluster, utilizzando i repository Git come fonte di verità. Argo CD sincronizza automaticamente i cluster con i repository Git e rileva eventuali deviazioni, riconciliandosi continuamente per garantire che le applicazioni e le risorse distribuite corrispondano allo stato desiderato nel controllo delle versioni. È possibile utilizzare Argo CD per gestire le applicazioni su un determinato cluster o distribuire e gestire applicazioni su più cluster da una singola risorsa Argo CD, con la distribuzione automatica dai repository Git ogni volta che vengono apportate modifiche.
- kro (Kube Resource Orchestrator)
-
kro (Kube Resource Orchestrator) ti consente di creare API Kubernetes personalizzate che compongono più risorse in astrazioni di livello superiore, consentendo ai team della piattaforma di definire modelli riutilizzabili per combinazioni di risorse comuni. Ciò consente ai team della piattaforma di fornire funzionalità self-service con protezioni appropriate, consentendo agli sviluppatori di fornire infrastrutture complesse utilizzando API semplici e create appositamente, mantenendo al contempo gli standard organizzativi e le migliori pratiche.