Ricerca nel sito web

Introduzione ad Amazon EKS


Kubernetes su AWS

Amazon Cloud (AWS) offre una serie di servizi che aiutano nell'orchestrazione dei container, tra cui Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS), Amazon LightSail e Amazon Elastic Container Registry (ECR). In questo articolo impareremo a conoscere Amazon EKS, che è Kubernetes nel cloud AWS.

1. Cos'è Amazon EKS?

Amazon EKS (acronimo di Amazon Elastic Kubernetes Service) è un servizio gestito che ti consente di eseguire Kubernetes su AWS Cloud senza dover configurare, amministrare o mantenere il tuo piano di controllo e i tuoi nodi.

Kubernetes è una tecnologia open source che automatizza la distribuzione, il ridimensionamento e la gestione dei contenitori, ovvero delle applicazioni containerizzate.

Per ottenere un'elevata disponibilità, EKS esegue e ridimensiona il piano di controllo Kubernetes tra diverse zone di disponibilità AWS. In Amazon EKS, le istanze del piano di controllo vengono ridimensionate automaticamente in base al carico e le istanze del piano di controllo non integre vengono rilevate e sostituite, così come gli aggiornamenti automatizzati della versione e l'applicazione di patch verranno eseguiti automaticamente.

Amazon EKS può essere integrato con altri servizi AWS per fornire varie strutture. Ad esempio, i nodi di lavoro possono essere forniti da istanze AWS EC2, ECR (Elastic Container Registry) per immagini container, VPC (Virtual Private Cloud) per isolare le risorse.

2. Componenti del cluster Amazon EKS

Il cluster Amazon EKS è costituito da due componenti importanti.

  1. Piano di controllo EKS
  2. Nodi EKS

2.1. Piano di controllo EKS

Il piano di controllo Amazon EKS è costituito da nodi che eseguono software Kubernetes come etcd e il server API Kubernetes. Il piano di controllo opera su un account AWS e l'API Kubernetes è accessibile tramite l'endpoint Amazon EKS per il tuo cluster. Ogni piano di controllo del cluster Amazon EKS dispone del proprio set di istanze Amazon EC2 ed è a tenant singolo e univoco.

Il piano di controllo EKS è disponibile in diverse zone di disponibilità; se uno qualsiasi dei piani di controllo presenta un problema, EKS identifica e sostituisce automaticamente i nodi del piano di controllo non integri, oltre a fornire aggiornamenti e patch su richiesta, senza tempi di inattività.

2.2. Nodi EKS

I nodi Amazon EKS vengono eseguiti nel tuo account AWS e si connettono al piano di controllo del cluster tramite un endpoint del server API e un file di certificato emesso per il cluster. È necessario creare gruppi di nodi per effettuare il provisioning dei nodi nel cluster EKS.

Un gruppo di nodi è composto da uno o più nodi. In un gruppo Amazon EC2 Auto Scaling, un gruppo di nodi è costituito da una o più istanze Amazon EC2 e tutte le istanze devono essere dello stesso tipo con la stessa Amazon Machine Image (AMI). Inoltre, un gruppo di nodi dovrebbe utilizzare lo stesso ruolo IAM.

3. Metodi di distribuzione del cluster EKS

È possibile creare il cluster EKS in due modi.

  • Amazon EKS - eksctl: è una semplice utility da riga di comando per la costruzione e la manutenzione dei cluster Kubernetes. AWS e Weaveworks hanno collaborato su eksctl, uno strumento che automatizza gran parte del processo di configurazione dei cluster EKS. Eksctl supporta anche il provisioning delle risorse tramite un file di configurazione, che è il metodo preferibile perché consente di controllare la versione della configurazione del cluster EKS.
  • Console di gestione AWS e AWS CLI: questo è il metodo più semplice per distribuire il cluster Amazon EKS in cui puoi avviare EKS come servizio in AWS e aggiungere nodi creando gruppi di nodi nella console AWS stessa.

4. Come funziona Amazon EKS

Il modo più semplice per considerare Amazon EKS è "Kubernetes as a Service" di AWS Cloud.

Come accennato in precedenza, Amazon EKS è costituito da due componenti principali; Nodi piano di controllo/master e piano dati/di lavoro EKS che stanno costruendo il cluster EKS. Entrambi gli aerei vengono gestiti nei propri cloud privati virtuali (VPC).

I nodi nei VPC sono responsabili dell'esecuzione delle immagini del contenitore o dei carichi di lavoro. AWS offre anche l'infrastruttura di rete necessaria per connettere questi componenti e formare un cluster Kubernetes.

I pod possono essere pianificati su qualsiasi combinazione di nodi autogestiti, gruppi di nodi controllati da Amazon EKS e AWS Fargate in un cluster Amazon EKS.

I nodi Amazon EKS vengono eseguiti con il tuo account e utilizzano l'endpoint del server API del cluster per comunicare con il piano di controllo.

I dettagli e il diagramma seguenti illustrano la distribuzione delle applicazioni nel cluster EKS.

Provisioning del cluster Amazon EKS - Master di provisioning

Puoi creare il cluster nella Console di gestione AWS oppure utilizzando AWS CLI o uno degli SDK AWS

Deployment Compute - Provisioning Worker

Puoi avviare nodi di calcolo da AWS Fargate o istanze Amazon EC2. Per configurare i nodi di lavoro per l'esecuzione dei contenitori di applicazioni, EKS fornisce le seguenti opzioni.

  • Autogestito: l'utente è responsabile del provisioning delle istanze EC2 collegate al cluster. Ciò ti fornisce più opzioni quando si tratta di impostare i nodi di lavoro.
  • Gestito: per i cluster Amazon EKS Kubernetes, i gruppi di nodi gestiti automatizzano il provisioning e la gestione del ciclo di vita dei nodi (istanze Amazon EC2).
  • AWS Fargate: Fargate è un motore di elaborazione serverless gestito da AWS che consente di eseguire applicazioni container senza dover mantenere i server.

Connettiti con il cluster Amazon EKS

Kubernetes comunica con il suo cluster tramite uno strumento da riga di comando denominato Kubectl. Devi installare kubectl nel tuo computer e configurarlo per connettere Amazon EKS ed eseguire applicazioni.

Monitora le app Kubernetes

Dopo aver creato il tuo cluster EKS completo, devi distribuire il dashboard Kubernetes, un'interfaccia di gestione basata sul Web per gestire e monitorare il tuo cluster EKS.

Distribuisci applicazioni con EKS nel cloud

5. Funzionalità di Amazon EKS

Qui ho elencato alcune funzionalità importanti di Amazon EKS.

Piano di controllo gestito

Amazon EKS fornisce un piano di controllo a disponibilità elevata con opzione di scalabilità automatica. Poiché EKS è in esecuzione in tre zone di disponibilità, rileva automaticamente il piano di controllo non integro e lo sostituisce.

Integrazione dei servizi

AWS Controllers for Kubernetes (ACK) ti consente di gestire i servizi AWS direttamente dal tuo ambiente Kubernetes. Utilizzando le risorse AWS, ACK semplifica la creazione di app Kubernetes scalabili e altamente disponibili.

Eksctl - Gestione a linea singola

È uno strumento da riga di comando che può essere installato nel tuo computer Windows o Linux per creare, eseguire e gestire il tuo cluster EKS. Semplifica la gestione e le operazioni del cluster.

Sicurezza

Amazon EKS si integra con vari servizi e tecnologie per fornire un ambiente altamente protetto. Ad esempio, IAM consente un controllo granulare degli accessi e VPC isola e protegge il cluster EKS dall'accesso di terze parti.

Bilanciamento del carico

Amazon EKS supporta l'utilizzo di Application Load Balancer, ideale per il bilanciamento avanzato del carico del traffico HTTP e HTTPS. Inoltre, EKS utilizza Network Load Balancer e Classic Load Balancer.

Calcolo serverless

Per eseguire le tue app Kubernetes utilizzando l'elaborazione serverless, EKS supporta AWS Fargate. Fargate elimina la necessità di creare e mantenere i server. Ti consente di scegliere e pagare le risorse per applicazione.

Distribuzione ibrida

EKS su "AWS Outposts" può essere utilizzato per eseguire app containerizzate con latenze minime sui sistemi locali. AWS Outposts è una soluzione completamente gestita che collega qualsiasi posizione connessa con l'infrastruttura, i servizi, le API e gli strumenti AWS. Puoi gestire i contenitori in locale con la stessa semplicità con cui puoi gestirli nel cloud con EKS su Outposts.

Compatibilità open source

Amazon EKS supporta i comuni componenti aggiuntivi Kubernetes ed EKS è altamente compatibile con gli strumenti della community Kubernetes.

Aggiornamenti del cluster gestito

Gli aggiornamenti di versione per Kubernetes vengono eseguiti al volo, eliminando la necessità di costruire nuovi cluster o trasferire applicazioni in un nuovo cluster.

6. Prezzi di Amazon EKS

Per ogni cluster Amazon EKS che crei, pagherai $0,10 l'ora. Utilizzando gli spazi dei nomi Kubernetes e le impostazioni di sicurezza IAM, puoi eseguire molte app su un singolo cluster EKS.

Su AWS, puoi utilizzare Amazon Elastic Compute Cloud (Amazon EC2) o AWS Fargate per gestire EKS, mentre in locale puoi utilizzare AWS Outposts. Di conseguenza, il prezzo verrà calcolato.

AWS fornisce il calcolatore per stimare il prezzo. Puoi utilizzare il collegamento sottostante per stimare il prezzo per EKS Cluster.

Calcolatore dei prezzi AWS

Consulta l'articolo seguente per ulteriori dettagli sul modello di prezzo delle istanze AWS EC2 poiché puoi utilizzare le istanze EC2 per i nodi di lavoro EKS.

  • Introduzione ad Amazon Web Services (AWS)

Se utilizzi AWS Fargate, il prezzo dipende dalla quantità di vCPU e RAM consumate dal momento in cui inizi a scaricare l'immagine del contenitore fino al completamento del pod Amazon EKS, il calcolo del tempo verrà arrotondato al secondo più vicino. Verrà applicata una tariffa minima per un minuto anche se utilizzi 10 secondi.

Utilizza questo collegamento per stimare i prezzi di AWS Fargate. Qui è necessario inserire dettagli come modello del sistema operativo, numero di POD, quantità di vCPU, memoria.

Calcola i prezzi di AWS Fargate

Su AWS Outposts puoi costruire ed eseguire i tuoi nodi Amazon EKS. AWS Outposts consente alle strutture locali di utilizzare servizi, infrastrutture e modelli operativi AWS nativi.

Il costo per Amazon EKS su AWS Outposts è semplice e identico a quello del cluster Amazon EKS distribuito in AWS e paghi $0,10 l'ora.

Puoi acquistare diversi tipi di configurazioni rack AWS Outposts in base alle tue esigenze, la configurazione rack è una combinazione di tipo di istanza EC2, volume EBS gp2 e S3 su Outposts. Fai riferimento a questo collegamento per stimare il tuo modello di prezzo per AWS Outposts.

Conclusione

In questo articolo abbiamo compreso i concetti di base di Amazon EKS, il suo modello di funzionamento e di determinazione dei prezzi e le sue caratteristiche importanti. Vedremo le procedure di costruzione del cluster Amazon EKS nel prossimo articolo.

Leggi dopo:

  • Come distribuire il cluster Kubernetes su AWS con Amazon EKS

Risorsa:

  • Guida per l'utente di Amazon EKS

Articoli correlati