Funzionalità di Amazon EKS

Panoramica

Amazon Elastic Kubernetes Service (Amazon EKS) è un servizio Kubernetes gestito che semplifica l'esecuzione di Kubernetes su AWS e on-premises. Kubernetes è un sistema open source per l'automatizzazione di implementazione, dimensionamento e gestione di applicazioni containerizzate. Amazon EKS offre una compatibilità certificata con Kubernetes, perciò le applicazioni esistenti che vengono eseguite in una versione a monte di Kubernetes sono compatibili con Amazon EKS.

Amazon EKS gestisce automaticamente la disponibilità e la scalabilità dei nodi del piano di controllo Kubernetes responsabili della pianificazione dei container, della gestione della disponibilità delle applicazioni, dell'archiviazione dei dati del cluster e di altri processi chiave.

Amazon EKS ti consente di eseguire le applicazioni Kubernetes sia su Amazon Elastic Compute Cloud (Amazon EC2) che AWS Fargate. Con Amazon EKS puoi sfruttare tutte le prestazioni, la scalabilità, l'affidabilità e la disponibilità dell'infrastruttura AWS, nonché le integrazioni con i servizi di rete e sicurezza AWS, quali Application Load Balancer per la distribuzione del carico, l'integrazione di AWS Identity Access Manager (IAM) con il controllo degli accessi basato sui ruoli (RBAC) e supporto Virtual Private Cloud (VPC) d AWS per le reti di pod.

foto di dati informatici

Cluster Kubernetes gestiti

Amazon EKS fornisce un piano di controllo Kubernetes scalabile e altamente disponibile che può essere eseguito in più zone di disponibilità AWS. Amazon EKS gestisce automaticamente la disponibilità e la scalabilità dei server API Kubernetes e il livello di persistenza etcd. Amazon EKS esegue il piano di controllo Kubernetes in tre zone di disponibilità per garantire un'elevata disponibilità e rileva e sostituisce automaticamente i nodi del piano di controllo non integri.

AWS Controllers for Kubernetes (ACK) offre il controllo di gestione diretto sui servizi AWS dall'interno del tuo ambiente Kubernetes. ACK semplifica la costruzione di applicazioni Kubernetes scalabili e altamente disponibili con i servizi AWS.

EKS fornisce una console integrata per i cluster Kubernetes. Gli operatori di cluster e gli sviluppatori di applicazioni possono utilizzare EKS come unico luogo per organizzare, visualizzare e risolvere i problemi delle applicazioni Kubernetes in esecuzione su Amazon EKS. La console EKS è ospitata da AWS ed è disponibile automaticamente per tutti i cluster EKS.

I componenti aggiuntivi EKS sono software operativi comuni che estendono la funzionalità operativa di Kubernetes. Puoi utilizzare EKS per installare e mantenere aggiornato il software del componente aggiuntivo. Quando avvii un cluster Amazon EKS, puoi selezionare i componenti aggiuntivi che desideri eseguire nel cluster, inclusi gli strumenti Kubernetes per l'osservabilità, le reti, la scalabilità automatica e le integrazioni dei servizi AWS.

Amazon EKS ti consente di creare, aggiornare, dimensionare e terminare i nodi per il tuo cluster con un singolo comando. Questi nodi possono anche sfruttare le istanze Spot di Amazon EC2 per ridurre i costi. I gruppi di nodi gestiti eseguono istanze di Amazon EC2 utilizzando le Amazon Machine Image (AMI) più recenti personalizzate od ottimizzate per EKS nel tuo account AWS, mentre gli aggiornamenti e gli arresti esauriscono gradualmente i nodi per garantire che le applicazioni restino disponibili.

Distribuzioni ibride

È possibile utilizzare EKS su AWS Outposts per eseguire applicazioni containerizzate che richiedono una latenza particolarmente bassa ai sistemi on-premises. AWS Outposts è un servizio completamente gestito che estende l'infrastruttura di AWS, i servizi AWS, le API e gli strumenti a praticamente qualsiasi sito connesso. Con EKS su Outposts puoi gestire container On-Premise con la stessa facilità con cui gestisci container nel cloud.

Puoi allegare a EKS nodi in esecuzione nelle zone locali AWS o AWS Wavelength, godendo di più scelte per l'infrastruttura gestita da AWS all'edge.

Amazon EKS Distro crea la stessa distribuzione di software Kubernetes open source utilizzata in EKS su AWS per l'utilizzo sulla tua infrastruttura on-premises. I cluster EKS Distro possono essere gestiti con i tuoi strumenti o con Amazon EKS Anywhere.

Amazon EKS Anywhere consente di creare e gestire facilmente cluster Kubernetes (costruiti con il software in Amazon EKS Distro) on-premises, tra cui su macchine virtuali (VM) e server bare metal. EKS Anywhere ti evita la complessità di costruire e supportare i tuoi strumenti per gestire i cluster Kubernetes. EKS Anywhere fornisce strumenti di automazione che semplificano la creazione, l'amministrazione e le operazioni di cluster su infrastrutture come bare metal, VMware vSphere e macchine virtuali cloud. Ciò include anche le macchine virtuali cloud con configurazioni predefinite di registrazione, monitoraggio, rete e archiviazione. EKS Anywhere offre gli strumenti e i componenti aggiuntivi necessari per eseguire Kubernetes in produzione, come l'installazione del cluster e la gestione del ciclo di vita, l'osservabilità, il backup del cluster e la gestione delle policy.

Usa eksctl per avviare i nodi e gestire una singola riga

Utilizza lo strumento della riga di comando eksctl per iniziare a utilizzare Amazon EKS in pochi minuti. Esegui facilmente un comando "eksctl create cluster" per creare il tuo cluster EKS. È possibile utilizzare eksctl per semplificare la gestione e le operazioni per il cluster, inclusa la gestione di nodi e componenti aggiuntivi.

Amazon EKS supporta nodi Windows e pianificazione di container Windows. EKS supporta l'esecuzione di nodi Windows e nodi Linux, consentendo di utilizzare lo stesso cluster per la gestione di applicazioni su entrambi i sistemi operativi.

I processori AWS Graviton2 potenziano le istanze EC2 basate su Arm, offrendo un notevole passo in avanti in termini di prestazioni e capacità, nonché significativi risparmi sui costi. Migliorare l'efficienza dei costi delle applicazioni è uno degli obiettivi principali dell'esecuzione dei container. Combinali entrambi per ottenere un ottimo rapporto qualità-prezzo. Ad esempio, il test dei carichi di lavoro mostra che i tipi di istanze basati sui processori Graviton2 offrono prestazioni in termini di rapporto qualità-prezzo migliori fino al 40% rispetto alle famiglie equivalenti M5, C5 e R5 basate su x86. Amazon EKS su AWS Graviton2 è generalmente disponibile nelle regioni dove entrambi i servizi sono disponibili.

Rete e sicurezza

Con Amazon EKS è facile garantire la sicurezza per i cluster Kubernetes, con caratteristiche avanzate e integrazioni in servizi AWS e soluzioni di partner tecnologici. Ad esempio, IAM fornisce un controllo dell'accesso granulare e Amazon VPC isola i cluster Kubernetes da altri clienti.

Amazon Elastic Kubernetes Service (EKS) supporta IPv6, permettendo ai clienti di dimensionare le applicazioni containerizzate su Kubernetes ben oltre i limiti dello spazio di indirizzi IPv4 privati. Con il supporto di EKS per IPv6, ai pod viene assegnato solo un indirizzo IPv6 instradabile a livello globale, permettendoti di dimensionare le applicazioni nel cluster senza consumare lo spazio limitato di indirizzi IPv4 privati. Questo indirizzo IPv6 instradabile a livello globale può essere utilizzato per comunicare direttamente con qualsiasi endpoint IPv6 nel Amazon VPC, nella rete on-premise, o nell'Internet pubblico. Inoltre, EKS configura le reti in modo che i pod possano ancora comunicare con gli endpoint basati su IPv4 all'esterno del cluster, consentendo di adottare i vantaggi di IPv6 utilizzando Kubernetes senza che venga eseguita la migrazione a IPv6 di tutti i servizi dipendenti implementati nell'organizzazione.

EKS Pod Identity semplifica il lavoro dei clienti nella configurazione delle applicazioni sui cluster EKS per accedere ai servizi AWS. Gli amministratori del cluster EKS ottengono un flusso di lavoro semplificato per ottenere le credenziali IAM necessarie per l'autenticazione delle applicazioni Kubernetes per accedere a risorse AWS come bucket S3, tabelle DynamoDB e altro ancora. EKS Pod Identity semplifica l'utilizzo dei ruoli IAM su più cluster e semplifica la gestione delle policy IAM supportando il riutilizzo delle policy tra i ruoli IAM.

AWS Cloud Map è un servizio di rilevamento delle risorse cloud. Con Cloud Map puoi definire nomi personalizzati e mantenere aggiornate le posizioni delle risorse delle applicazioni in continuo cambiamento. Ciò aumenta la disponibilità della tua applicazione poiché il servizio Web rileva sempre le posizioni più aggiornate delle risorse. Cloud Map funziona con external-dns, un connettore Kubernetes open source che propaga automaticamente le posizioni dei servizi interni al registro dei servizi Cloud Map all'avvio dei servizi Kubernetes e li rimuove al termine. I servizi basati su Kubernetes diventano rilevabili tramite Cloud Map, che fornisce un registro dei servizi unificato per tutti i carichi di lavoro del container.

La mesh di servizi standardizza il modo in cui ogni microservizio comunica all'interno dell'applicazione, semplificando la costruzione e l'esecuzione di applicazioni di microservizi complessi. AWS App Mesh configura l'applicazione per una visibilità end-to-end e un'elevata disponibilità. Puoi utilizzare il controller AWS App Mesh per Kubernetes per creare nuovi servizi connessi alla mesh, definire il routing del traffico e configurare caratteristiche di sicurezza come la crittografia. Inoltre, App Mesh ti consente di registrare automaticamente i pod Kubernetes in AWS Cloud Map per la scoperta dei servizi. App Mesh esporta parametri, registri e tracce negli endpoint specificati nella configurazione bootstrap di Envoy fornita. App Mesh fornisce un'API per configurare i routing del traffico, l'interruzione del circuito, i nuovi tentativi e altri controlli tra i microservizi abilitati per la mesh. App Mesh Mutual TLS aiuta a crittografare tutte le richieste tra i servizi anche quando si trovano nelle reti private. Inoltre, puoi aggiungere controlli di autenticazione per abilitare la comunicazione solo tra i servizi consentiti.

I cluster EKS vengono eseguiti in un Amazon VPC, consentendoti di utilizzare i tuoi gruppi di sicurezza VPC e le liste di controllo accessi di rete (ACL). Non viene condivisa con i clienti nessuna risorsa di calcolo, il che fornisce un elevato livello di isolamento per costruire applicazioni sicure e affidabili. EKS adotta l'interfaccia di rete del container Amazon VPC (CNI) per permettere ai pod Kubernetes di ricevere indirizzi IP dal VPC. Amazon EKS utilizza il motore di policy di rete Project Calico per fornire policy granulari di rete da impiegare con i carichi di lavoro di Kubernetes. Utilizza l'API della policy di rete Kubernetes per controllare l'accesso in base al servizio.

Amazon EKS integra Kubernetes RBAC (il sistema di controllo degli accessi basato sui ruoli nativi per Kubernetes) con AWS IAM. Puoi assegnare ruoli RBAC direttamente a ciascuna entità IAM, consentendo il controllo granulare delle autorizzazioni di accesso sui nodi del piano di controllo Kubernetes.

Amazon EKS consente di assegnare autorizzazioni IAM agli account di servizio Kubernetes. Il ruolo IAM può controllare l'accesso ad altri servizi containerizzati, risorse AWS esterne al cluster come database e chiavi segrete, o servizi e applicazioni di terze parti in esecuzione al di fuori di AWS. Ciò offre un controllo di accesso granulare a livello di pod quando esegui i cluster con servizi multipli co-localizzati e facilita l'ottimizzazione dei costi e la disponibilità del cluster.

Amazon EKS è certificato da vari programmi di conformità per applicazioni regolamentate e sensibili. Amazon EKS è conforme agli standard SOCPCIISOFedRAMP-ModerateIRAPC5K-ISMSENS HighOSPARHITRUST CSF ed è un servizio idoneo all'HIPAA.

Amazon EKS è compatibile con la verifica delle firme delle immagini dei container per consentire l'implementazione di carichi di lavoro di container con immagini e artefatti approvati. Prima di implementare le immagini nei cluster Amazon EKS, puoi verificare le immagini (o qualsiasi altro artefatto OCI come Software Bill of Materials) firmate da AWS Signer, una soluzione di firma completamente gestita. AWS supporta soluzioni di firma e verifica delle immagini basate su open source in modo da poter firmare facilmente gli artefatti archiviati nel registro e verificarli utilizzando policy-as-code o controller di ammissione open source.

Bilanciamento del carico

Amazon EKS supporta l'utilizzo di Elastic Load Balancing, inclusi Application Load Balancer (ALB), Network Load Balancer (NLB) e Classic Load Balancer.

Puoi eseguire il bilanciamento del carico del cluster Kubernetes standard o qualsiasi controller di ingresso supportato da Kubernetes con il tuo cluster Amazon EKS.

Serverless Compute

EKS supporta l'uso di AWS Fargate per l'esecuzione delle applicazioni Kubernetes con elaborazione serverless. Fargate evita di effettuare il provisioning e gestire i server, permettendoti di specificare e pagare solo le risorse utilizzate per ciascuna applicazione, così da migliorare anche la sicurezza isolando l'applicazione tramite la progettazione.

Monitoraggio dei costi

Amazon EKS semplifica il processo di comprensione dei costi associati all'utilizzo di Kubernetes, sia a livello di cluster che a livello di singola applicazione.

Amazon EKS aggiunge automaticamente un tag di allocazione dei costi di AWS a ogni istanza EC2 che si unisce a un cluster. Ciò ti libera dal dover applicare una policy di assegnazione tag personalizzata all'interno dell'organizzazione per ottenere informazioni dettagliate sui costi a livello di cluster. Dopo aver attivato il tag di allocazione dei costi per il nome del cluster EKS nella Console AWS per la fatturazione, puoi utilizzare i report sui costi e sull'utilizzo di AWS per tenere traccia dei costi EC2 associati ai cluster EKS.

Amazon EKS supporta Kubecost che ti consente di monitorare i costi suddivisi per risorse Kubernetes inclusi pod, nodi, spazi dei nomi ed etichette. Gli amministratori della piattaforma Kubernetes e i responsabili finanziari possono utilizzare Kubecost per visualizzare una ripartizione degli addebiti associati ad Amazon EKS, allocare i costi ed eseguire un riaddebito alle unità organizzative come i team delle applicazioni. In questo modo puoi fornire ai team interni e alle unità aziendali dati sui costi trasparenti e accurati basati sulla loro fattura AWS effettiva e ottenere consigli personalizzati per l'ottimizzazione dei costi in base all'ambiente dell'infrastruttura e ai modelli di utilizzo all'interno dei loro cluster.

Registrazione

Amazon EKS è integrato con AWS CloudTrail per offrire visibilità nelle operazioni di gestione di EKS, inclusa la cronologia di verifica. È possibile utilizzare CloudTrail per visualizzare le chiamate API effettuate verso l'API Amazon EKS. Amazon EKS fornisce anche i log del piano di controllo Kubernetes ad Amazon CloudWatch per analisi, debug e verifica.

Conformità certificata

Amazon EKS esegue la versione a monte di Kubernetes e offre compatibilità certificata, perciò sarà possibile utilizzare tutti i plug-in e gli strumenti esistenti creati dalla community dedicata. Le applicazioni in esecuzione in Amazon EKS sono compatibili al 100% con le applicazioni in esecuzione in qualsiasi ambiente Kubernetes standard, sia in data center On-Premise sia sul cloud pubblico. Ciò significa che è possibile eseguire facilmente la migrazione di qualsiasi applicazione Kubernetes standard in Amazon EKS senza rifattorizzare il codice.

Aggiornamenti di cluster gestiti

Amazon EKS semplifica l'aggiornamento di cluster in esecuzione all'ultima versione di Kubernetes senza la necessità di gestire il processo di aggiornamento. Gli aggiornamenti della versione di Kubernetes vengono effettuati in loco, eliminando la necessità di creare nuovi cluster o effettuare la migrazione delle applicazioni a un nuovo cluster.

Poiché le nuove versioni di Kubernetes sono rilasciate e convalidate per l'uso con Amazon EKS, supporteremo sempre tre versioni stabili di Kubernetes come parte del processo di aggiornamento. Puoi avviare l'installazione della nuova versione e rivedere lo stato dell'aggiornamento in corso tramite SDK, CLI o AWS Console.

Supporto avanzato per carichi di lavoro

Amazon EKS fornisce una Amazon Machine Image (AMI) ottimizzata che comprende i driver configurati NVIDIA per le istanze Amazon EC2 P2 e P3 abilitate per GPU. Questo facilita l'uso di Amazon EKS per eseguire i carichi di lavoro computazionali avanzati, tra cui machine learning (ML), Kubeflow, container Deep Learning (DL), sistemi computerizzati ad alte prestazioni, analisi finanziaria dei dati e transcodifica video.

Compatibilità open source

Amazon EKS è completamente compatibile con gli strumenti della community Kubernetes e supporta i componenti aggiuntivi Kubernetes più diffusi. Sono inclusi CoreDNS, che crea un servizio DNS per il cluster, l'interfaccia utente basata sul Web del pannello di controllo di Kubernetes e lo strumento a riga di comando kubectl, che aiutano ad accedere e gestire il cluster su Amazon EKS.

Per maggiori informazioni, consulta la pagina GitHub degli strumenti della community Kubernetes.

EKS Connector

Amazon EKS consente ora di collegare qualsiasi cluster Kubernetes conforme ad AWS e di visualizzarlo nella console di Amazon EKS. Puoi connettere qualsiasi cluster Kubernetes conforme inclusi i cluster Amazon EKS Anywhere in esecuzione On-Premise, i cluster autogestiti su Amazon Elastic Compute Cloud (Amazon EC2) e altri cluster Kubernetes in esecuzione all'esterno di AWS. A prescindere da dove sia eseguito il tuo cluster, puoi usare la console di Amazon EKS per visualizzare tutti i cluster connessi e le risorse Kubernetes, indipendentemente da dove è in esecuzione il loro cluster.