Cos’è Kubernetes?

Was ist Kubernetes?
⌛ Reading Time: 4 minutes

Kubernetes (pronunciato “CUBE-A-NET-IS”) è una piattaforma open source che aiuta a gestire le applicazioni container come Docker. Che tu stia cercando di automatizzare o ridimensionare questi contenitori su più host, Kubernetes può accelerare la distribuzione. Per fare ciò può utilizzare componenti interni come l’API Kubernetes o estensioni di terze parti che vengono eseguite su Kubernetes.

Questo articolo ti aiuterà a comprendere i concetti di base di Kubernetes e il motivo per cui sta causando un tale cambiamento radicale nel mercato dei server, con fornitori e fornitori di servizi cloud, come Azzurro e Google Cloud, che offre servizi Kubernetes.

Kubernetes: una breve storia

Kubernetes è uno dei doni di Google alla comunità open source. La piattaforma container faceva parte di Borg, un progetto interno di Google per oltre un decennio. Borg consente a Google di gestire centinaia e persino migliaia di attività (chiamate “Borglet”) da diverse applicazioni nei cluster. Il suo obiettivo era utilizzare in modo efficiente le macchine (e le macchine virtuali) garantendo al contempo un’elevata disponibilità delle funzionalità di runtime.

La stessa architettura era apprezzata da altre aziende alla ricerca di modi per garantire in modo efficiente un’elevata disponibilità. Da qualche parte nel 2015, non appena è uscito Kubernetes 1.0, Google ha rinunciato al controllo della tecnologia. Kubernetes è ora con una fondazione chiamata Cloud Native Computing Foundation (CNCF), che a sua volta fa parte della Linux Foundation.

Kubernetes come parte di CNCF e Linux Foundation

Come funziona Kubernetes

Prendendo in prestito le idee del Progetto Borg, i “Borglet” hanno lasciato il posto ai “pod”, che sono unità di pianificazione che ospitano i container. Essenzialmente, hanno indirizzi IP individuali che entrano in scena ogni volta che un contenitore richiede CPU, memoria o archiviazione.

contenitori-schematico

I pod garantiscono un’elevata disponibilità bilanciando il carico del traffico in un formato round-robin. Inoltre, si trovano all’interno di macchine (o macchine virtuali) chiamate “nodi di lavoro”, noti anche come “minion”. Da questo punto un “nodo master” controlla l’intero cluster orchestrando la containerizzazione utilizzando l’API Kubernetes. Docker è in grado di essere eseguito in ogni nodo di lavoro in cui può scaricare immagini e avviare contenitori.

Cluster di bilanciamento del carico Kubernetes

Per ottenere la connessione API a un cluster Kubernetes, una sintassi CLI chiamata kubectl si usa. Questo è un comando molto importante perché esegue da solo tutte le istruzioni che il nodo Master serve ai nodi di lavoro. Padroneggiare kubectl richiede un po ‘di apprendimento, ma una volta imparato, puoi iniziare a utilizzare i cluster Kubernetes. Kubernetes e Docker sono scritti nel linguaggio di programmazione Go.

Applicazioni

Kubernetes può ridurre drasticamente i costi di server e data center grazie alla sua elevata efficienza nell’utilizzo delle macchine. Alcune delle applicazioni comuni di Kubernetes includono:

  • Gestione dei server delle applicazioni. La maggior parte dei server applicazioni richiede sicurezza, gestione della configurazione, aggiornamenti e altro, che possono essere eseguiti utilizzando Kubernetes.
  • Implementazioni e rollback automatici. Con Kubernetes, non devi preoccuparti di implementazioni o rollback dei prodotti su più nodi finali.
  • Distribuzione di app stateless. Le applicazioni Web sono ora controllabili in remoto. Ad esempio, Kubernetes può aiutarti a eseguire server Nginx utilizzando una distribuzione di applicazioni senza stato.
  • Distribuzione di app con stato. Kubernetes può eseguire un database MySQL.
  • Archiviazione di oggetti API. Per diverse esigenze di archiviazione, Kubernetes garantisce l’archiviazione ideale perché utilizza i principi del contenitore.
  • Pronto per l’uso. Kubernetes è molto utile nelle applicazioni out-of-the-box come il rilevamento dei servizi, la registrazione, il monitoraggio e l’autenticazione.
  • Applicazioni IoT. Kubernetes sta trovando un utilizzo crescente nell’IoT a causa della sua enorme capacità di ridimensionamento.
  • Corri ovunque. Puoi eseguire Kubernetes ovunque, anche all’interno di una valigia.

kubernetes-suitcase-cluster-assembly-twitter-ocasquero

In sintesi

L’obiettivo di Kubernetes è utilizzare al massimo le risorse di elaborazione. Poiché puoi orchestrare i contenitori su più host, i nodi finali non avranno mai problemi di risorse o guasti. Aiuta a ridimensionare automaticamente perché devi solo dare il comando una volta dal nodo Master e scalare applicateions è a dir poco rivoluzionario.

Per saperne di più su Kubernetes, visita il suo Sito ufficiale che contiene tutorial.

Credito immagine: Oskar Casquero

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.