Kubernetes su AWS

Gestione e orchestrazione di container open source

kuberneteslogo

Kubernetes è un software open source che permette di distribuire e gestire applicazioni in container in modo scalabile. Kubernetes gestisce i cluster di istanze di elaborazione Amazon EC2 ed esegue container su tali istanze con processi di distribuzione, manutenzione e ricalibrazione delle risorse. Utilizzando Kubernetes, è possibile eseguire qualsiasi tipo di applicazione in container utilizzando gli stessi strumenti in locale e nel cloud.

AWS semplifica l'esecuzione di Kubernetes nel cloud con un'infrastruttura di macchine virtuali scalabili e altamente disponibili, le integrazioni con servizi creati dalla community e Amazon Elastic Container Service for Kubernetes (EKS), un servizio gestito con conformità certificata a Kubernetes.

COME FUNZIONA KUBERNETES

Kubernetes gestisce un cluster di istanze di elaborazione, su cui pianifica l'esecuzione di container in base alle risorse di elaborazione disponibili e alle risorse richieste in ciascun container. I container vengono eseguiti in raggruppamenti logici chiamati pod; è possibile eseguire e ridimensionare uno o più container insieme come un solo pod.

Il software di piano di controllo di Kubernetes stabilisce quando e dove eseguire i pod, gestisce l'instradamento del traffico e ricalibra i pod in base a utilizzo o altri parametri personalizzabili. Kubernetes avvia automaticamente i pod in un cluster in base ai loro requisiti, riavviandoli automaticamente quando si verificano errori (nei pod o nelle istanze). Ciascun pod riceve un indirizzo IP e un singolo nome DNS, che Kubernetes impiega per connettere i servizi tra loro e con il traffico esterno.

PERCHÉ USARE KUBERNETES

Kubernetes è un progetto open source; può essere utilizzato per eseguire applicazioni in container ovunque si trovino, senza dover modificare gli strumenti operativi. Kubernetes è sostenuto da un'ampia community di volontari e viene migliorato costantemente. Inoltre, molti altri progetti open source e vendor hanno dato vita e sostengono software compatibili con Kubernetes, utilizzabili per migliorare ed estendere l'architettura delle applicazioni.

100x100_benefit_scalable_100x100_benefit_scalable

ESECUZIONE DI APPLICAZIONI IN MODO SCALABILE

Kubernetes permette di definire complesse applicazioni in container e di eseguirle in modo scalabile su un cluster di server.

100x100_benefit_migration

TRASFERIMENTI OTTIMIZZATI DELLE APPLICAZIONI

Con Kubernetes, le applicazioni in container possono essere trasferite in modo ottimizzato da macchine di sviluppo locali a distribuzioni di produzione nel cloud utilizzando gli stessi strumenti operativi.

100x100_benefit_global_100x100_benefit_global

MASSIMA COMPATIBILITÀ

È possibile eseguire cluster Kubernetes a disponibilità e scalabilità elevate in AWS mantenendo compatibilità completa con le distribuzioni locali.

100x100_benefit_compatible

NUOVE FUNZIONALITÀ

Poiché si tratta di un progetto open source, l'aggiunta di nuove funzionalità a Kubernetes è estremamente semplice. Esiste una vasta community di sviluppatori e imprese che creano estensioni, integrazioni e plugin che allargano le funzionalità del servizio.

ESECUZIONE DI KUBERNETES IN AWS

Con AWS, eseguire Kubernetes è semplice. È possibile scegliere di gestire manualmente l'infrastruttura del servizio utilizzando Amazon EC2, oppure di automatizzare provisioning e gestione con Amazon EKS. In entrambi i casi, è possibile ottenere le integrazioni avanzate offerte dalla community sia per i servizi AWS (ad esempio VPC, IAM e rilevamento di servizi) sia per le caratteristiche di AWS: sicurezza, scalabilità e disponibilità elevata.

SE OCCORRE...
VALUTA L'UTILIZZO DI
Gestione completa della distribuzione Kubernetes. Provisioning ed esecuzione di Kubernetes su diversi tipi di istanze. "Amazon EC2"
Eseguire Kubernetes senza dover allocare o gestire istanze master ed etcd.
Amazon EKS
Memorizzare, crittografare e gestire immagini di container per velocizzarne la distribuzione.
Amazon ECR

 

Collaborazione di AWS con la community di Kubernetes

AWS collabora attivamente con la community di Kubernetes, offrendo contributi al codice di base di Kubernetes, per consentire ai suoi utenti di sfruttare al massimo i servizi e le caratteristiche di AWS.

CNI_logo_120x100

Plugin CNI

Reti di pod in Kubernetes con interfacce di rete elastiche in AWS.

heptio-logo-news_1_120x100

IAM Authenticator

Strumento che consente di utilizzare le credenziali AWS IAM per eseguire l'autenticazione a cluster Kubernetes.

EKS_external-dns_120x100

DNS esterni

Configura Route 53 Service Discovery per ingressi e servizi Kubernetes.

Kubernetes-detoure-titre-noir_120x100

AWS SIG

Gruppi di interesse speciali gestiti dalla community per approfondire le integrazioni di AWS all'API Kubernetes

new_product_fargate

VIRTUAL KUBELET

Servizio sperimentale: esecuzione di container in AWS Fargate con il piano di controllo Kubernetes.

DOMANDE FREQUENTI SU KUBERNETES

D: Cos'è un cluster Kubernetes?

Un cluster Kubernetes è un raggruppamento logico di istanze di elaborazione di EC2 eseguite in container. Un cluster consiste di un piano di controllo (le istanze che controllano come, quando e dove eseguire i container) e un piano dati (le istanze in cui sono eseguiti i container). È necessario definire un cluster prima di poter eseguire container o servizi con Kubernetes.

D: Cos’è un nodo Kubernetes?

Un nodo Kubernetes è un'istanza di elaborazione singola (una macchina virtuale) che fa parte di un cluster Kubernetes. Si suddividono in due tipi: master e worker. I nodi master offrono hosting per server API Kubernetes e controllano come, quando e dove eseguire i container. I nodi worker sono le istanze di elaborazione in cui sono eseguiti i container e nelle quali elaborano dati.

D: Cos'è un pod Kubernetes?

Un pod Kubernetes è il modo in cui Kubernetes esegue i container sulle istanze di elaborazione; include container e specifiche di esecuzione, rete e storage. Un pod può essere un container singolo o diversi container in funzione all'unisono. Per chi in genere esegue solo singoli container, un pod può essere descritto come un container in esecuzione.

D: Cos'è etcd?

etcd è uno store chiave-valore distribuito che permette di memorizzare e condividere dati su un cluster distribuito di macchine. Kubernetes impiega etcd per memorizzare i dati sul cluster e condividerli sul piano di controllo.

D: AWS supporta Kubernetes?

Con AWS, eseguire Kubernetes è semplice. Anzi, secondo la Cloud Native Computing Federation (CNCF), la maggior parte dei clienti che esegue Kubernetes nel cloud usa AWS; la maggior parte delle distribuzioni Kubernetes sono eseguite in AWS. AWS collabora con la community di Kubernetes, a cui contribuisce attivamente, per semplificare l'esecuzione di questo servizio sulla propria infrastruttura.

AWS offre Amazon Elastic Container Service for Kubernetes (EKS), un servizio gestito che semplifica l'uso di Kubernetes in AWS, eliminando la necessità di installare e gestire il piano di controllo Kubernetes.

D: In che modo è possibile usare Kubernetes in AWS?

Le modalità di utilizzo di Kubernetes in AWS sono due: è possibile eseguirlo manualmente su istanze di macchine virtuali Amazon EC2, oppure avvalersi del servizio Amazon EKS. Per maggiori dettagli su come eseguire Kubernetes manualmente in EC2, consulta il nostro workshop su GitHub. Per ulteriori informazioni, su come utilizzare Amazon EKS, consulta la pagina del prodotto.

Tutto pronto per cominciare?
Crea un account AWS
Hai altre domande?
Contattaci