10 distribuzioni Kubernetes che guidano la rivoluzione dei container

Kubernetes è diventato il progetto a cui rivolgersi se è necessaria l'orchestrazione dei container su larga scala. Il sistema di orchestrazione dei contenitori open source di Google è ben considerato, ben supportato e in rapida evoluzione.

Kubernetes è anche vasto, complesso e difficile da impostare e configurare. Non solo, ma gran parte del lavoro pesante è lasciato all'utente finale. L'approccio migliore, quindi, non è afferrare i bit e provare a farlo da solo, ma cercare una soluzione container completa che includa Kubernetes come componente supportato e mantenuto.

Qui ho elencato le 9 offerte Kubernetes più importanti: quanto sono distribuzioni che incorporano Kubernetes plus container tools, nello stesso senso in cui vari fornitori offrono distribuzioni del kernel Linux e dei suoi utenti.

Tieni presente che questo elenco non include servizi cloud dedicati, come Amazon EKS o Google Kubernetes Engine, ma si concentra sulle distribuzioni software che possono essere eseguite localmente o come opzione ospitata nel cloud.

CoreOS Tectonic / Red Hat CoreOS

CoreOS è il fornitore di una distribuzione Linux incentrata sui contenitori, compatibile con Docker ma con un formato di immagine e un runtime propri, e una distribuzione Kubernetes di livello aziendale. Insieme formano la base dello stack CoreOS Tectonic. 

Il sistema operativo CoreOS, Container Linux, si distingue principalmente per essere fornito come un insieme di componenti containerizzati. In questo modo, gli aggiornamenti automatici del sistema operativo possono essere inseriti in produzione senza interrompere le applicazioni in esecuzione. CoreOS fornisce anche aggiornamenti "con un clic" a Kubernetes. CoreOS Tectonic funziona su Amazon Web Services, Microsoft Azure e bare metal. 

Red Hat ha recentemente acquisito CoreOS, con l'intenzione di integrarlo in Red Hat OpenShift. Container Linux verrà rinominato Red Hat CoreOS. Il trasferimento non dovrebbe essere completato fino al 2020, ma Container Linux continuerà a essere supportato fino ad allora. Secondo Red Hat, "quasi tutte" le funzionalità di CoreOS Tectonic saranno disponibili dopo la transizione.

Vedi la recensione di CoreOS Container Linux per maggiori dettagli.

Video correlato: che cos'è Kubernetes?

In questo video di 90 secondi, scopri Kubernetes, il sistema open source per l'automazione di applicazioni containerizzate, da uno degli inventori della tecnologia, Joe Beda, fondatore e CTO di Heptio.

Distribuzione canonica di Kubernetes

Canonical, creatore di Ubuntu Linux, fornisce la propria distribuzione Kubernetes. Uno dei principali punti di forza della distribuzione Canonical di Kubernetes è la distribuzione Ubuntu Linux ampiamente rispettata, ben compresa e comunemente distribuita. Canonical afferma che il suo stack funzionerà in qualsiasi distribuzione cloud o on-prem, con il supporto incluso per carichi di lavoro basati su CPU e GPU. I clienti paganti possono avere il proprio cluster Kubernetes gestito in remoto dagli ingegneri Canonical.

La distribuzione Kubernetes di Canonical è disponibile anche in una versione in miniatura, Microk8s. Gli sviluppatori ei nuovi arrivati ​​di Kubernetes possono installare Microk8s su un notebook o desktop e utilizzarlo per test, sperimentazione o anche per uso in produzione su hardware di basso profilo.

Canonical e Rancher Labs (vedi sotto) coproducono un prodotto, Cloud Native Platform, che accoppia la distribuzione Kubernetes di Canonical con la piattaforma di gestione dei contenitori di Rancher. L'idea è di utilizzare Kubernetes per gestire i contenitori in esecuzione in ogni cluster e utilizzare Rancher per gestire più cluster Kubernetes. Cloud Native Platform sarà disponibile con Rancher 2.0, attualmente disponibile in un'anteprima beta. 

Docker Community Edition / Docker Enterprise

Per molti di noi, Docker è container. E dal 2014, Docker ha un proprio sistema di clustering e orchestrazione, Docker Swarm, che fino a poco tempo fa rappresentava un concorrente di Kubernetes. Quindi, nell'ottobre 2017, Docker ha annunciato che avrebbe aggiunto Kubernetes, nel suo stato non modificato, vaniglia, come pacchetto standard con Docker Community Edition e Docker Enterprise 2.0 e versioni successive.

Docker Enterprise 3.0 aggiunge il servizio Docker Kubernetes, un'integrazione di Kubernetes che mantiene le versioni di Kubernetes coerenti tra i desktop degli sviluppatori e le distribuzioni di produzione. 

In breve, Docker Inc. ha letto la scritta sul muro dell'orchestrazione dei container e ha riconosciuto che Kubernetes è più adatto di Swarm per la gestione di ambienti di container grandi e complessi. Tuttavia, Docker include ancora il suo sistema di clustering originale, "modalità sciame", per lavori più modesti, ad esempio, un'applicazione locale dietro il firewall che non è destinata a crescere molto, o per mantenere i cluster in modalità sciame esistenti che non ha bisogno di essere rinnovato.

Abbonamento a Heptio Kubernetes

Due dei creatori di Kubernetes, Craig McLuckie e Joe Beda, hanno fondato Heptio per offrire servizi e prodotti intorno a Kubernetes. La loro prima grande offerta è l'Heptio Kubernetes Subscription (HKS), una distribuzione Kubernetes con supporto a pagamento 24 ore su 24, 7 giorni su 7 fornito da Heptio. I prezzi partono da $ 2.000 al mese.

L'obiettivo principale con Heptio è Kubernetes di livello aziendale senza vincoli al fornitore. Le distribuzioni possono essere eseguite su cloud pubblici o hardware privato. Tutti gli strumenti offerti da Heptio per gestire le configurazioni Kubernetes sono open source e le correzioni vengono fornite direttamente ai cluster supportati.

VMware ha acquisito Heptio nel 2018, ma l'acquisizione non ha ancora influito sui piani per il portafoglio di prodotti di Heptio.

Kontena Pharos

Presentato come "Kubernetes che funziona e basta", Kontena Pharos segue più o meno lo stesso playbook delle offerte Linux di Red Hat. In fondo è una distribuzione Kubernetes certificata CNCF disponibile con la licenza Apache 2 (come per Fedora o CentOS). Coloro che hanno i soldi da spendere (secondo Red Hat Enterprise Linux) possono acquistare funzionalità di livello professionale, consulenza, servizi di supporto e alcune offerte a prezzo fisso come il passaggio a un'infrastruttura cloud-native.

La distribuzione principale di Pharos viene fornita di serie con funzionalità di base come aggiornamenti di sicurezza automatici e più runtime del contenitore. Il prodotto a pagamento aggiunge strumenti aziendali, come il dashboard di Kontena Lens, il sistema di archiviazione distribuito Kontena Storage, backup, bilanciamento del carico e la possibilità di distribuire il cluster in un ambiente con air gap.

L'edizione professionale ha un periodo di valutazione di trenta giorni, con abbonamenti di supporto che partono da 375 € al mese. L'edizione open source non ha limiti di tempo e nessun costo di licenza.

Pivotal Container Service (PKS)

Pivotal, meglio conosciuto per il suo lavoro su Cloud Foundry, offre un Kubernetes di livello aziendale chiamato Pivotal Container Service (PKS). PKS attinge a molti altri progetti Pivotal per la sua ispirazione. Ad esempio, utilizza il progetto Kubo, utilizzato anche nel Cloud Foundry di Pivotal, per avviare e gestire i cluster Kubernetes.

La caratteristica distintiva di PKS è la stretta integrazione con lo stack di virtualizzazione VMware; infatti PKS è un progetto congiunto VMware-Pivotal. I container in esecuzione su PKS hanno accesso ai servizi normalmente disponibili solo per le macchine virtuali in esecuzione su vSphere, come lo storage persistente in VMware VSAN. Inoltre, PKS può essere gestito tramite VMware Cloud Foundation, utilizzato per la gestione dell'infrastruttura VMware in ambienti cloud pubblici e privati.

In breve, qualsiasi negozio con un investimento in VMware e un interesse crescente per Kubernetes, potrebbe voler esaminare PKS per ottenere il massimo dalla configurazione VMware esistente.

Rancher 2.0

Rancher Labs ha incorporato Kubernetes nella sua piattaforma di gestione dei contenitori, chiamata, semplicemente, Rancher, con la versione 2.0. Rancher 2.0 funziona a un livello superiore rispetto ad altre distribuzioni Kubernetes, in cima ai tuoi host Linux, container Docker e nodi Kubernetes, gestendoli tutti a distanza, indipendentemente dalla posizione o dall'infrastruttura. Può persino gestire cluster Kubernetes su Amazon EKS, Google Kubernetes Engine, Azure Kubernetes Service e altri cloud Kubernetes-as-a-service. 

Rancher viene fornito anche con la propria distribuzione Kubernetes. Rancher ha lo scopo di rimuovere gran parte del lavoro faticoso dal processo di configurazione di un cluster Kubernetes e personalizzazione di Kubernetes per un ambiente specifico, senza consentire a tali personalizzazioni di ostacolare gli aggiornamenti fluidi a Kubernetes, una considerazione chiave per un così veloce- progetto in movimento e in continuo aggiornamento.

Rancher offre anche una distribuzione Kubernetes minima chiamata K3s. Ottimizzato per distribuzioni di basso profilo, K3s richiede solo 512 MB di RAM per istanza del server e 200 MB di spazio su disco. Comprende questo footprint omettendo tutte le funzionalità legacy, alpha-grade e non essenziali, così come molti plug-in meno comunemente usati (sebbene questi possano essere aggiunti di nuovo se necessario).

Red Hat OpenShift

Red Hat OpenShift, il prodotto PaaS di Red Hat, utilizzava originariamente "cartucce" simili a buildpack di Heroku per creare pacchetti di applicazioni, che venivano poi distribuite in contenitori chiamati "ingranaggi". Poi è arrivato Docker e OpenShift è stato rielaborato per utilizzare la nuova immagine del contenitore e lo standard di runtime. Inevitabilmente, Red Hat ha anche adottato Kubernetes come tecnologia di orchestrazione all'interno di OpenShift.

OpenShift è stato creato per fornire astrazione e automazione per tutti i componenti in un PaaS. Questa astrazione e automazione si estende anche a Kubernetes, che impone ancora una discreta quantità di oneri amministrativi, quindi OpenShift può essere utilizzato per alleviarlo come parte della missione più ampia di implementare un PaaS.

Come notato sopra, CoreOS Tectonic è stato incorporato in Red Hat OpenShift, sebbene la fusione delle tecnologie non dovrebbe essere completata fino al 2020.

Vedi la recensione di Red Hat OpenShift 3 per maggiori dettagli.

SUSE Container as a Service Platform

Meglio conosciuto per una distribuzione Linux molto popolare in Europa, SUSE offre anche la piattaforma SUSE CaaS. Concettualmente, la piattaforma SUSE CaaS ricorda CoreOS Tectonic, combinando un sistema operativo "micro" bare metal che esegue contenitori, Kubernetes per l'orchestrazione dei contenitori, un registro di immagini integrato e strumenti di configurazione del cluster.

SUSE CaaS Platform 3, rilasciato nel 2018, ha aggiunto la funzionalità multi-master per rendere i cluster più resilienti a un arresto anomalo del nodo master e una funzionalità di ottimizzazione del kernel per apportare modifiche personalizzate al kernel Linux incluso.

La piattaforma SUSE CaaS può essere eseguita su cloud pubblici e bare metal locali, ma con l'avvertenza che "SUSE attualmente non supporta alcuna integrazione nell'infrastruttura cloud sottostante". Ciò significa che la piattaforma SUSE CaaS non è progettata per integrare Amazon EKS o Google Kubernetes Engine, ma per aggirarli, consentendo di eseguire container su più cloud e data center. 

Telekube

Gravitational, creatore del server SSH Teleport, produce Gravity, una distribuzione Kubernetes "rinforzata dalla produzione" che viene eseguita su cluster locali o remoti. Gravity è posizionato come una soluzione per una piattaforma SaaS privata o per eseguire Kubernetes come servizio in più regioni o provider di hosting.

Le app su Gravity devono essere preparate per essere eseguite in contenitori su Kubernetes. Devono inoltre essere impacchettati in "Bundle" che vengono poi pubblicati nei cluster Kubernetes per la distribuzione. Il raggruppamento richiede un po 'di lavoro aggiuntivo oltre a tutte le altre preparazioni necessarie per distribuire applicazioni basate su contenitori, ma il manifesto del pacchetto è l'unica aggiunta specifica per gravità che è necessario mantenere.

Gravity ti consente inoltre di eseguire l'istantanea di un intero cluster Kubernetes, comprese tutte le sue app e la configurazione, e di distribuire l'istantanea a qualsiasi altro ambiente Kubernetes.