Cos'è Kubernetes?

Kubernetes è un software di orchestrazione open source per la distribuzione, la gestione e il ridimensionamento di contenitori

Descrizione di Kubernetes

Le applicazioni moderne vengono sempre più spesso sviluppate con i contenitori, ovvero microservizi inseriti in pacchetti insieme alle relative dipendenze e configurazioni. Kubernetes è un software open source per lo sviluppo e la gestione di questi contenitori su larga scala ed è anche il termine greco per indicare il timoniere di una nave o un pilota. Crea, distribuisci e ridimensiona più rapidamente le app in contenitori con Kubernetes, definito a volte "k8s" o "k-eights".

Esplora Kubernetes con questo semplice percorso di apprendimento

Come funziona Kubernetes

Quando le applicazioni crescono occupando più contenitori in diversi server, la gestione diventa più complessa. Per affrontare questa complessità, Kubernetes offre un'API open source che controlla come e dove verranno eseguiti i contenitori.

Kubernetes orchestra un cluster di macchine virtuali e pianifica l'esecuzione dei contenitori al loro interno in base alle risorse di calcolo disponibili e ai requisiti di risorse di ogni contenitore. I contenitori sono raggruppati in pod, ossia l'unità operativa di base per Kubernetes, e tali pod possono essere ridimensionati fino a ottenere lo stato desiderato.

Kubernetes gestisce anche automaticamente l'individuazione di servizi, incorpora il bilanciamento del carico, verifica l'allocazione delle risorse ed esegue il ridimensionamento in base all'utilizzo delle risorse di calcolo. Controlla anche l'integrità delle singole risorse e consente la riparazione automatica delle app mediante il riavvio o la replica automatica dei contenitori.

Guarda altri video sui concetti di base di Kubernetes

Perché usare Kubernetes?

Mantenere le app in contenitori attive e in esecuzione può risultare difficile perché includono spesso molti contenitori distribuiti in diversi computer. Kubernetes offre un approccio per pianificare e distribuire questi contenitori, oltre alla possibilità di ridimensionarli fino allo stato desiderato e gestire i rispettivi cicli di vita. Usa Kubernetes per implementare le applicazioni basate su contenitori in un modo portabile, scalabile ed estendibile.

Rendi portabili i carichi di lavoro

Poiché le app in contenitori sono separate dalla rispettiva infrastruttura, diventano portabili quando le esegui in Kubernetes. Spostale dai computer locali alla produzione in ambienti locali, ibridi e con più cloud, mantenendo al tempo stesso la coerenza tra gli ambienti.

Ridimensiona i contenitori con facilità

Definisci applicazioni in contenitori complesse e distribuiscile in un cluster di server o anche tra più cluster con Kubernetes. Quando Kubernetes ridimensiona le applicazioni in base allo stato desiderato, monitora e gestisce automaticamente l'integrità dei contenitori.

Crea app più estendibili

Una vasta community open source di sviluppatori e società crea attivamente estensioni e plug-in che aggiungono funzionalità quali sicurezza, monitoraggio e gestione in Kubernetes. Certified Kubernetes Conformance Program richiede che ogni versione di Kubernetes supporti API che semplificano l'uso delle offerte della community.

Inizia a usare Kubernetes

Scopri come iniziare a distribuire e gestire applicazioni in contenitori.

Seguire il percorso di apprendimento

Ottieni esperienza pratica con componenti, funzionalità e soluzioni di Kubernetes.

Crea su una piattaforma Kubernetes completa

Benché Kubernetes stesso offra portabilità, scalabilità ed estendibilità, l'aggiunta di sviluppo end-to-end, operazioni e controlli di sicurezza ti permette di distribuire più rapidamente gli aggiornamenti, senza compromettere la sicurezza o l'affidabilità, e di risparmiare tempo sulla gestione dell'infrastruttura. Quando adotti Kubernetes, prendi in considerazione anche l'implementazione di:

Sfrutta le potenzialità di Kubernetes con le procedure DevOps

Con la crescita dell'app Kubernetes, mediante l'aggiunta di contenitori, ambienti e team, la frequenza di rilascio tende ad aumentare, insieme alla complessità di sviluppo e operazioni. L'uso delle procedure DevOps negli ambienti Kubernetes ti permette di agire rapidamente su larga scala con sicurezza avanzata.

Distribuisci più rapidamente il codice con CI/CD

Mentre i contenitori offrono un formato di pacchetti di applicazioni coerente che facilita la collaborazione tra team di sviluppo e operazioni, la metodologia CI/CD può accelerare il passaggio da codice a contenitore e a cluster Kubernetes in pochi minuti automatizzando queste attività.

Configura CI/CD per Kubernetes

Gestisci le risorse efficacemente con l'infrastruttura distribuita come codice

L'infrastruttura distribuita come codice stabilisce la coerenza e la visibilità delle risorse di calcolo tra team, riducendo la probabilità di errori umani. Questa procedura è compatibile con la natura dichiarativa delle applicazioni Kubernetes basate su Helm. Combinando i due approcci, puoi definire le app, le risorse e le configurazioni in modo affidabile, tracciabile e ripetibile.

Distribuisci un cluster Kubernetes con Terraform

Accelera il ciclo di feedback con il monitoraggio costante

Riduci i tempi tra bug e correzioni con un quadro completo di risorse, cluster, API Kubernetes, codice e contenitori disponibili, tramite il monitoraggio dell'integrità dei contenitori fino alla registrazione centralizzata. Questa visualizzazione contribuisce a evitare colli di bottiglia delle risorse, individuare le richieste dannose e preservare l'integrità delle applicazioni Kubernetes.

Scopri di più sulle informazioni dettagliate in tempo reale dei contenitori

Trova un equilibrio tra velocità e sicurezza con DevOps

Offri l'osservabilità in tempo reale nel flusso di lavoro DevOps senza sacrificare la velocità. Applica automaticamente i controlli di conformità e le riconfigurazioni per proteggere la pipeline di compilazione e versione, e di conseguenza l'applicazione Kubernetes.

Guarda la sicurezza continua in azione

Esempio di flusso di lavoro DevOps con Kubernetes

  1. 1Esegui rapidamente l'iterazione, il test e il debug di diverse parti di un'applicazione contemporaneamente nello stesso cluster Kubernetes.
  2. 2Unisci e controlla il codice in un repository di GitHub per l'integrazione continua. Quindi, esegui compilazioni e test automatizzati come parte della distribuzione continua.
  3. 3Verifica l'origine e l'integrità delle immagini del contenitore. Le immagini vengono tenute in quarantena finché non superano l'analisi.
  4. 4Esegui il provisioning di cluster Kubernetes con strumenti come Terraform. I grafici Helm installati da Terraform definiscono lo stato desiderato di risorse e configurazioni delle app.
  5. 5Applica criteri per regolamentare le distribuzioni nel cluster Kubernetes.
  6. 6La pipeline di versione esegue automaticamente strategie di distribuzione predefinite con ogni codice.
  7. 7Aggiungi il controllo dei criteri e la correzione automatica alla pipeline CI/CD. Ad esempio, solo la pipeline di versione è autorizzata a creare nuovi pod nell'ambiente Kubernetes.
  8. 8Abilita la telemetria delle app, il monitoraggio dell'integrità dei contenitori e l'analisi dei log in tempo reale.
  9. 9Affronta i problemi con informazioni dettagliate e definisci i piani per lo sprint successivo.

Sfrutta i punti di forza di Kubernetes con Azure

Automatizza il provisioning, l'aggiornamento, il monitoraggio e il ridimensionamento con il servizio Microsoft Azure Kubernetes completamente gestito. Scegli Kubernetes serverless, un'esperienza più semplice dallo sviluppo alla produzione, con funzionalità di sicurezza e governance di livello enterprise.

Scopri di più sul servizio Azure Kubernetes

Lasciati ispirare e scopri innovazioni dalla community di Kubernetes

Kubernetes è stato sviluppato e continua a prosperare grazie alle migliaia di individui e alle centinaia di organizzazioni che hanno dedicato competenze, codice e supporto continuo alle persone che lo usano. Sfrutta questi contributi appassionati per sviluppare software di successo.

35,000
Autori di contributi
180,000
Commit
Progetto principale
in GitHub

Contributi Microsoft a Kubernetes

Offri la creatività dell'open source nelle aziende

Per semplificare l'adozione di Kubernetes da parte delle organizzazioni e semplificarne l'uso da parte degli sviluppatori, in soli tre anni Microsoft ha triplicato il numero di dipendenti che partecipano al progetto open source. Microsoft, ora il terzo collaboratore aziendale principale, si impegna per rendere Kubernetes più adatto e accessibile per le aziende offrendo alla community di Kubernetes i concetti appresi più recenti e le procedure consigliate definite tramite la collaborazione con diversi clienti.

Domande frequenti - Kubernetes

  • Segui questo percorso curato per iniziare la formazione su Kubernetes.

  • Kubernetes risulta utile in scenari che vanno dal trasferimento di applicazioni nel cloud alla semplificazione delle sfide poste da Machine Learning e intelligenza artificiale.

    I principali casi d'uso sono:

  • Vedi le procedure consigliate e i modelli architetturali creati dalle diverse migliaia di tecnici professionisti e partner che usano Kubernetes.

  • Una distribuzione in Kubernetes consente di descrivere lo stato di distribuzione desiderato per le applicazioni. L'utilità di pianificazione di Kubernetes assicura che lo stato effettivo corrisponda a quello desiderato e mantiene tale stato in caso di arresto anomalo di uno o più pod. Le distribuzioni in Kubernetes consentono anche di aggiornare continuamente le applicazioni senza tempo di inattività.

    Vedi le strategie di distribuzione di Kubernetes
  • La distribuzione in Kubernetes tramite DevOps implica solitamente un repository come Git per la gestione delle versioni. Il repository funge da elemento iniziale della pipeline CI/CD. A seconda dell'approccio adottato, le modifiche effettuate nel repository attivano le attività di integrazione, compilazione, distribuzione e implementazione.

    Scopri in dettaglio come funziona il servizio Azure Kubernetes con Azure DevOps
  • Kubernetes e Docker sono interoperabili.

    Docker fornisce uno standard aperto per la creazione di pacchetti e la distribuzione di applicazioni containerizzate. Con Docker, puoi creare ed eseguire contenitori, nonché archiviare e condividere le relative immagini.

    Kubernetes orchestra e gestisce le applicazioni distribuite e containerizzate create da Docker. Fornisce inoltre l'infrastruttura necessaria per distribuire ed eseguire queste applicazioni in un cluster di computer.

    Scopri di più su Kubernetes e Docker

Risorse

Inizia quando vuoi - Prova Kubernetes gratuitamente in Azure