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

Funzionalità EKS

Amazon EKS Capabilities è un set stratificato di funzionalità di cluster completamente gestite che aiutano ad accelerare la velocità degli sviluppatori e a ridurre la complessità della creazione e della scalabilità con Kubernetes. EKS Capabilities sono funzionalità native di Kubernetes per la distribuzione continua dichiarativa, la gestione delle risorse e la creazione e l'orchestrazione AWS delle risorse Kubernetes, tutte completamente gestite da. AWS Con EKS Capabilities, puoi concentrarti maggiormente sulla creazione e sulla scalabilità dei tuoi carichi di lavoro, alleggerendo il carico operativo di questi servizi di piattaforma fondamentali. AWS Queste funzionalità vengono eseguite all'interno di EKS anziché nei cluster, eliminando la necessità di installare, mantenere e scalare i componenti critici della piattaforma sui nodi di lavoro.

Per iniziare, puoi creare una o più funzionalità EKS su un cluster EKS nuovo o esistente. Per fare ciò, puoi usare la AWS CLI, EKS Console di gestione AWS APIs, eksctl o i tuoi strumenti preferiti. infrastructure-as-code Sebbene le funzionalità EKS siano progettate per funzionare insieme, sono risorse cloud indipendenti che puoi scegliere in base al tuo caso d'uso e ai tuoi requisiti.

Tutte le versioni di Kubernetes supportate da EKS sono supportate per EKS Capabilities.

Nota

Le funzionalità EKS sono disponibili in tutte le regioni AWS commerciali in cui è disponibile Amazon EKS. Per un elenco delle regioni supportate, consulta gli endpoint e le quote di Amazon EKS nella Guida AWS generale.

Funzionalità disponibili

AWS Controller per Kubernetes (ACK)

ACK consente la gestione delle AWS risorse utilizzando Kubernetes APIs, consentendoti di creare e gestire bucket S3, database RDS, ruoli IAM e altre risorse utilizzando risorse personalizzate Kubernetes. AWS ACK riconcilia continuamente lo stato desiderato con lo stato effettivo in cui si trova AWS, correggendo eventuali variazioni nel tempo per mantenere il sistema integro e le risorse configurate come specificato. Puoi gestire AWS le risorse insieme ai carichi di lavoro Kubernetes utilizzando gli stessi strumenti e flussi di lavoro, con supporto per più di 50 AWS servizi tra cui S3, RDS, DynamoDB e Lambda. ACK supporta la gestione delle risorse tra account e regioni, abilitando complesse architetture di gestione di sistemi multi-account e multi-cluster. ACK supporta risorse di sola lettura e adozione in sola lettura, facilitando la migrazione da altre infrastrutture come strumenti di codice ai sistemi basati su Kubernetes.

Scopri di più su ACK →

Argo CD

Argo CD GitOps implementa una distribuzione continua basata sulle applicazioni, utilizzando i repository Git come fonte di verità per i carichi di lavoro e lo stato del sistema. Argo CD sincronizza automaticamente le risorse delle applicazioni con i cluster dai repository Git, rilevando e correggendo le deviazioni per garantire che le applicazioni distribuite corrispondano allo stato desiderato. È possibile distribuire e gestire applicazioni su più cluster da una singola istanza Argo CD, con la distribuzione automatizzata dai repository Git ogni volta che vengono apportate modifiche. L'uso combinato di Argo CD e ACK fornisce un GitOps sistema di base, che semplifica la gestione delle dipendenze dei carichi di lavoro e supporta la progettazione di interi sistemi, inclusa la gestione di cluster e infrastrutture su larga scala. Argo CD si integra con AWS Identity Center per l'autenticazione e l'autorizzazione e fornisce un'interfaccia utente Argo ospitata per visualizzare lo stato di integrità e di implementazione delle applicazioni.

Scopri di più su Argo CD →

kro (Kube Resource Orchestrator)

kro ti consente di creare Kubernetes personalizzati APIs che compongono più risorse in astrazioni di livello superiore, permettendo ai team della piattaforma di definire modelli riutilizzabili per combinazioni di risorse comuni: elementi costitutivi del cloud. Con kro, puoi comporre sia Kubernetes che AWS le risorse in astrazioni unificate, utilizzando una sintassi semplice per abilitare configurazioni dinamiche e logica condizionata. kro consente ai team della piattaforma di fornire funzionalità self-service con guardrail appropriati, consentendo agli sviluppatori di fornire infrastrutture complesse utilizzando infrastrutture semplici e appositamente create APIs mantenendo gli standard organizzativi e le migliori pratiche. le risorse kro sono semplicemente risorse Kubernetes e sono specificate in Kubernetes Manifest test che possono essere archiviati in Git o inviati a OCI- registri compatibili come Amazon ECR per un'ampia distribuzione organizzativa.

Scopri di più su kro →

Vantaggi delle funzionalità EKS

Le funzionalità EKS sono completamente gestite da AWS, eliminando la necessità di installazione, manutenzione e scalabilità dei servizi cluster di base. AWS gestisce le patch di sicurezza, gli aggiornamenti e la gestione operativa, permettendo ai team di concentrarsi sulla creazione AWS anziché sulle operazioni del cluster. A differenza dei tradizionali componenti aggiuntivi di Kubernetes che consumano risorse del cluster, le funzionalità vengono eseguite in EKS anziché sui nodi di lavoro. Ciò consente di liberare capacità e risorse del cluster per i carichi di lavoro, riducendo al minimo l'onere operativo della gestione dei controller interni al cluster e di altri componenti della piattaforma.

Con EKS Capabilities, puoi gestire distribuzioni, AWS risorse Kubernetes personalizzate e composizioni utilizzando Kubernetes nativi e strumenti come. APIs kubectl Tutte le funzionalità operano nel contesto dei cluster, rilevando e correggendo automaticamente le variazioni di configurazione nelle risorse applicative e dell'infrastruttura cloud. È possibile distribuire e gestire le risorse su più cluster, AWS account e regioni da un unico punto di controllo, semplificando le operazioni in ambienti complessi e distribuiti.

Le funzionalità EKS sono progettate per i GitOps flussi di lavoro e forniscono infrastrutture dichiarative e con controllo della versione e una gestione delle applicazioni. Le modifiche fluiscono da Git attraverso il sistema, fornendo audit trail, funzionalità di rollback e flussi di lavoro di collaborazione che si integrano con le pratiche di sviluppo esistenti. Questo approccio nativo di Kubernetes significa che non è necessario utilizzare più strumenti o gestire infrastructure-as-code sistemi esterni ai cluster e che esiste un'unica fonte di verità a cui fare riferimento. Lo stato desiderato, definito nella configurazione dichiarativa di Kubernetes con controllo della versione, viene applicato continuamente in tutto l'ambiente.

Prezzi

Con EKS Capabilities, non sono previsti impegni anticipati o commissioni minime. Ti viene addebitato un costo per ogni risorsa di capacità per ogni ora in cui è attiva sul tuo cluster Amazon EKS. Le risorse Kubernetes specifiche gestite da EKS Capabilities vengono inoltre fatturate su base oraria.

Per informazioni aggiornate sui prezzi, consulta la pagina dei prezzi di Amazon EKS.

Suggerimento

È possibile utilizzare AWS Cost Explorer e Cost and Usage Reports per tenere traccia dei costi delle funzionalità separatamente dagli altri addebiti EKS. È possibile etichettare le funzionalità con il nome del cluster, il tipo di funzionalità e altri dettagli ai fini dell'allocazione dei costi.

Come funzionano le funzionalità EKS

Ogni funzionalità è una AWS risorsa che crei sul tuo cluster EKS. Una volta creata, la funzionalità viene eseguita in EKS ed è completamente gestita da AWS.

Nota

È possibile creare una risorsa di funzionalità di ogni tipo (Argo CD, ACK e kro) per un determinato cluster. Non è possibile creare risorse con funzionalità multiple dello stesso tipo sullo stesso cluster.

Interagisci con le funzionalità del tuo cluster utilizzando Kubernetes APIs e strumenti standard:

  • Utilizzalo per kubectl applicare risorse personalizzate Kubernetes

  • Usa gli archivi Git come fonte di verità per GitOps i flussi di lavoro

Alcune funzionalità supportano strumenti aggiuntivi. Esempio:

  • Usa la CLI di Argo CD per configurare e gestire repository e cluster con le funzionalità di Argo CD

  • Utilizzate l'interfaccia utente di Argo CD per visualizzare e gestire le applicazioni gestite dalla funzionalità Argo CD

Le funzionalità sono progettate per funzionare insieme, ma sono indipendenti e completamente attivabili. È possibile abilitare una, due o tutte e tre le funzionalità in base alle proprie esigenze e aggiornare la configurazione man mano che i requisiti evolvono.

Tutti i tipi di EKS Compute sono supportati per l'uso con EKS Capabilities. Per ulteriori informazioni, consulta Gestire le risorse di elaborazione utilizzando i nodi.

Per la configurazione di sicurezza e i dettagli sui ruoli IAM, consultaConsiderazioni sulla sicurezza per EKS Capabilities. Per i modelli di architettura multi-cluster, vediConsiderazioni sulle funzionalità EKS.

Casi di utilizzo comune

GitOps per applicazioni e infrastruttura

Usa Argo CD per distribuire applicazioni e componenti operativi e ACK per gestire le configurazioni dei cluster e fornire l'infrastruttura, entrambi dai repository Git. L'intero stack (applicazioni, database, storage e rete) è definito come codice e distribuito automaticamente.

Esempio: un team di sviluppo invia modifiche a Git. Argo CD distribuisce l'applicazione aggiornata e ACK fornisce un nuovo database RDS con la configurazione corretta. Tutte le modifiche sono verificabili, reversibili e coerenti in tutti gli ambienti.

Progettazione della piattaforma con self-service

Usa kro per creare risorse personalizzate APIs che compongono risorse ACK e Kubernetes. I team della piattaforma definiscono i modelli approvati con guardrail. I team addetti alle applicazioni utilizzano soluzioni semplici e di alto livello APIs per fornire stack completi.

Esempio: un team della piattaforma crea un'API "WebApplication" che fornisce un bucket Deployment, Service, Ingress e S3. Gli sviluppatori utilizzano questa API senza dover comprendere la complessità o le autorizzazioni sottostanti. AWS

Gestione delle applicazioni multi-cluster

Usa Argo CD per distribuire applicazioni su più cluster EKS in diverse regioni o account. Gestisci tutte le implementazioni da una singola istanza Argo CD con policy e flussi di lavoro coerenti.

Esempio: distribuisci la stessa applicazione in cluster di sviluppo, gestione temporanea e produzione in più regioni. Argo CD assicura che ogni ambiente rimanga sincronizzato con il ramo Git corrispondente.

Gestione multi-cluster

Usa ACK per definire e fornire i cluster EKS, kro per personalizzare le configurazioni dei cluster con standard organizzativi e Argo CD per gestire il ciclo di vita e la configurazione dei cluster. Ciò consente la gestione dei end-to-end cluster dalla creazione fino alle operazioni in corso.

Esempio: definire i cluster EKS utilizzando ACK e kro per fornire e gestire l'infrastruttura dei cluster, definire gli standard organizzativi per il networking, le politiche di sicurezza, i componenti aggiuntivi e altre configurazioni. Usa Argo CD per creare e gestire continuamente cluster, configurazioni e aggiornamenti delle versioni di Kubernetes in tutta la tua flotta sfruttando standard coerenti e la gestione automatizzata del ciclo di vita.

Migrazioni e modernizzazione

Semplifica la migrazione a EKS con il provisioning delle risorse cloud e i flussi di lavoro nativi. GitOps Usa ACK per adottare AWS le risorse esistenti senza ricrearle e Argo CD per rendere operative le distribuzioni dei carichi di lavoro da Git.

Esempio: un team che esegue la migrazione EC2 da EKS adotta i database RDS e i bucket S3 esistenti utilizzando ACK, quindi utilizza Argo CD per distribuire applicazioni containerizzate da Git. Il percorso di migrazione è chiaro e le operazioni sono standardizzate sin dal primo giorno.

Account e Bootstrapping regionale

Automatizza l'implementazione dell'infrastruttura tra account e regioni utilizzando insieme Argo CD e ACK. Definisci la tua infrastruttura come codice in Git e lascia che siano le funzionalità a gestire l'implementazione e la gestione.

Esempio: un team della piattaforma gestisce repository Git che definiscono configurazioni di account standard, ruoli IAMVPCs, istanze RDS e stack di monitoraggio. Argo CD implementa automaticamente queste configurazioni su nuovi account e regioni, garantendo la coerenza e riducendo i tempi di configurazione manuale da giorni a minuti.