Cos'è Kubernetes?

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

Descrizione di Kubernetes

Le moderne applicazioni vengono sempre più spesso sviluppate con i contenitori, ossia microservizi inseriti in pacchetti insieme alle relative dipendenze e configurazioni. Kubernetes, o k8s, è un software open source per la distribuzione e la gestione di questi contenitori su vasta scala. Con Kubernetes puoi creare, distribuire e personalizzare più rapidamente le app in contenitori.

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.

Offre anche la possibilità di orchestrare un cluster di macchine virtuali e pianificare 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, che possono essere ridimensionati fino a ottenere lo stato desiderato.

Kubernetes consente anche di gestire l'individuazione di servizi, incorporare il bilanciamento del carico, tenere traccia dell'allocazione delle risorse, ridimensionare l'ambiente in base all'utilizzo delle risorse di calcolo, verificare l'integrità delle singole risorse e abilitare l'autocorrezione delle app con il riavvio o la replica automatica dei contenitori.

Scopri di più sui concetti di base di Kubernetes

Come funziona Kubernetes

Perché usare Kubernetes?

Implementa ambienti basati su contenitore in modo portatile, scalabile ed estendibile.

Portabilità

Sposta i carichi di lavoro containerizzati dai computer di sviluppo locali alla produzione, senza problemi. Orchestra i contenitori in modo coerente in diversi ambienti tra l'infrastruttura locale e i cloud pubblici e ibridi.

Scalabilità

Definisci complesse applicazioni containerizzate e distribuiscile globalmente tra cluster di server, o anche tra più cluster, mentre Kubernetes ottimizza le risorse in base al tuo stato desiderato. Grazie all'autoscaler predefinito, Kubernetes può ridimensionare con facilità l'applicazione monitorando e mantenendo automaticamente al tempo stesso l'integrità dei contenitori.

Estendibilità

Accedi a un'ampia raccolta in rapida crescita di estensioni e plug-in creati dagli sviluppatori e dalle aziende che costituiscono la community di Kubernetes. Un servizio conforme a Kubernetes ti consente di sfruttare al meglio queste offerte della community e di aggiungere funzionalità come sicurezza, monitoraggio e gestione.

Oltre Kubernetes

Le applicazioni in contenitori promettono una maggiore agilità, ma Kubernetes non è sufficiente per ottenere tutti i vantaggi di tale agilità. Durante l'adozione di Kubernetes prendi in considerazione l'uso degli elementi seguenti nella piattaforma di Kubernetes.

Una piattaforma di livello aziendale con esperienza end-to-end per sviluppo, operazioni e sicurezza può permetterti di risparmiare il tempo dedicato alla gestione dell'infrastruttura e di implementare più rapidamente gli aggiornamenti senza compromettere la sicurezza e l'affidabilità.

Realizza agilità su vasta scala con Kubernetes e DevOps

Con la moltiplicazione di contenitori, ambienti e team che li gestiscono, la frequenza delle versioni può aumentare, di pari passo con la complessità di sviluppo e operazioni. Accelera le operazioni su larga scala con sicurezza ottimizzata usando DevOps negli ambienti Kubernetes.

Accelera la distribuzione di codice con integrazione continua e distribuzione continua (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 favorisce la coerenza e la visibilità delle risorse di calcolo tra team, riducendo la probabilità di errori umani. Questa prassi è perfettamente in linea 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

Contenitori non modificabili, rilasci frequenti e un livello di orchestrazione astratto rendono l'osservabilità ancora più problematica e cruciale. Per abbreviare i tempi tra bug e correzioni, è necessario avere un quadro completo di risorse, cluster, API Kubernetes, codice e contenitori disponibili, tramite il monitoraggio dell'integrità dei contenitori fino alla registrazione centralizzata. In questo modo è possibile 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

Ottieni funzioni integrate di osservabilità in tempo reale come parte del flusso di lavoro DevOps. 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

Kubernetes appartiene alla community

Kubernetes è stato sviluppato e continua a prosperare grazie alle migliaia di individui e alle centinaia di aziende che hanno dedicato competenze, codice e risorse al progetto. Sfrutta questi contributi continui e appassionati per sviluppare software di successo.

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

Software open source con un impegno verso le 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

  • 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
  • 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à.

    Guarda una descrizione completa di questo argomento
  • 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 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 Azure.

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

Risorse

Inizia quando vuoi - Prova Kubernetes gratuitamente in Azure