Vai a

Che cos'è Kubernetes?

Con l'adozione diffusa dei container da parte delle organizzazioni, il software di gestione incentrato sui container Kubernetes è diventato lo standard per eccellenza per il deployment e il funzionamento delle applicazioni containerizzate. Kubernetes, parte integrante del crescente ecosistema di Google Cloud, è stato sviluppato inizialmente da Google e rilasciato come progetto open source nel 2014. Kubernetes sfrutta i 15 anni di esperienza di Google nell'esecuzione dei carichi di lavoro containerizzati e i preziosi contributi della community open source. Ispirato dal sistema interno di gestione dei cluster di Google, Borg, Kubernetes semplifica tutte le attività associate al deployment e alla gestione delle applicazioni. Consentendo l'orchestrazione automatizzata dei container, Kubernetes aumenta l'affidabilità e riduce l'impegno di tempo e le risorse necessari per eseguire le operazioni quotidiane.

Scopri di più su GKE, l'ambiente Kubernetes gestito di Google Cloud.

Definizione di Kubernetes

Kubernetes (talvolta abbreviato in K8s, con l'8 che indica il numero di lettere tra la "K" e la "s") è un sistema open source per eseguire il deployment, scalare e gestire applicazioni containerizzate ovunque.

Kubernetes automatizza le attività operative di gestione dei container e include comandi integrati per il deployment delle applicazioni, l'implementazione di modifiche alle applicazioni, lo scale up e lo scale down delle applicazioni per adattarle a esigenze in continuo cambiamento, il monitoraggio delle applicazioni e altro ancora, rendendo più facile la gestione delle applicazioni.

Quali sono i vantaggi di Kubernetes?

Operazioni automatizzate

Kubernetes dispone di comandi incorporati per gestire molte delle attività "pesanti" associate alla gestione delle applicazioni, consentendo di automatizzare le operazioni quotidiane. Puoi assicurarti che le applicazioni funzionino sempre secondo le aspettative.

Astrazione dell'infrastruttura

Una volta installato, Kubernetes gestisce il calcolo, il networking e l'archiviazione per conto dei tuoi carichi di lavoro. In questo modo gli sviluppatori possono concentrarsi sulle applicazioni senza preoccuparsi dell'ambiente sottostante.

Monitoraggio dell'integrità dei servizi

Kubernetes esegue continuamente controlli di integrità dei servizi, riavviando i container con errori o bloccati e rendendo i servizi disponibili agli utenti solo dopo aver verificato che funzionino correttamente.

Kubernetes o Docker

Anche se spesso vengono interpretati erroneamente come due alternative tra cui dover scegliere, Kubernetes e Docker sono tecnologie diverse, ma complementari, per l'esecuzione di applicazioni containerizzate. 

Docker consente di inserire quanto necessario per l'esecuzione dell'applicazione in un "contenitore" che può essere archiviato e aperto quando e dove necessario. Dopo aver iniziato a inserire le applicazioni nel contenitore, occorre trovare un modo per gestirle: è qui che entra in gioco Kubernetes.

Kubernetes è una parola greca che in italiano significa "capitano". Così come il capitano ha la responsabilità di assicurare la sicurezza della nave durante gli spostamenti in mare, Kubernetes ha la responsabilità di garantire il trasporto e la consegna in totale sicurezza dei contenitori nei "luoghi" in cui possono essere utilizzati.

  • Kubernetes può essere utilizzato con o senza Docker
  • Docker non è un'alternativa a Kubernetes, perciò la questione non è se utilizzare Kubernetes o Docker. Si tratta invece di usare Kubernetes con Docker per containerizzare le applicazioni ed eseguirle su vasta scala
  • La differenza tra Docker e Kubernetes è legata al ruolo svolto da ciascuna di queste tecnologie nella containerizzazione e nell'esecuzione delle applicazioni
  • Docker è uno standard di settore aperto per la creazione di pacchetti e la distribuzione di applicazioni in container
  • Kubernetes utilizza Docker per eseguire il deployment, gestire e scalare applicazioni containerizzate

A cosa serve Kubernetes?

Kubernetes viene utilizzato per creare applicazioni di cui puoi eseguire facilmente il deployment e la gestione, ovunque ti trovi. Quando disponibile come servizio gestito, Kubernetes offre una gamma di soluzioni per soddisfare le tue esigenze. Ecco alcuni casi d'uso comuni.

Aumento della velocità di sviluppo

Kubernetes aiuta a creare app cloud-native basate su microservizi. Supporta anche la containerizzazione delle app esistenti, diventando così la base per la modernizzazione delle applicazioni e permettendoti di sviluppare le app più rapidamente.

Deployment di applicazioni ovunque

Kubernetes è creato per essere utilizzato ovunque, permettendoti di eseguire le tue applicazioni nei deployment sul sito e in quelli su cloud pubblico, nonché in quelli ibridi intermedi. In questo modo puoi eseguire le tue applicazioni dove necessario.

Esecuzione di servizi efficienti

Kubernetes può regolare automaticamente le dimensioni di un cluster necessario per eseguire un servizio, consentendoti di fare automaticamente lo scale up e lo scale down delle applicazioni, in base alla domanda, ed eseguirle in modo efficiente.

Creato dagli stessi sviluppatori che hanno sviluppato Kubernetes, Google Kubernetes Engine (GKE) è un servizio Kubernetes basato su cloud facile da usare per l'esecuzione di applicazioni containerizzate. GKE può aiutarti a implementare una strategia Kubernetes di successo per le tue applicazioni nel cloud. Con Anthos, Google offre un'esperienza Kubernetes coerente per le tue applicazioni, sia on-premise che in ambienti multi-cloud. Anthos offre una soluzione affidabile, efficiente e sicura per eseguire i cluster Kubernetes ovunque.