Kubernetes as a Service con Rancher

July 25, 2024
4 MIN
Cloud Awareness
Cloud Awareness
Services
Services
Rancher as a Service con CloudFire
Contenuti
Condividi

In un nostro precedente articolo abbiamo esplorato come Kubernetes e I container svolgano un ruolo cruciale nel mondo Cloud Native.

L’adozione di queste tecnologie, infatti, vede costantemente nuovi protagonisti, prodotti e approcci.  In questa evoluzione, le differenze tra Container e VM hanno delineato una strada specifica ed ha comportato specifiche tecnologie e soluzioni.

In CloudFire, come in altre realtà, abbiamo studiato e testato diversi approcci. In questo articolo vi spieghiamo il nostro percorso e le soluzioni adottate fino ad oggi.

Docker: il pioniere della containerizzazione

Ad ogni innovazione tecnologica, e soprattutto rivoluzionaria come i container, nascono nuove sfide da affrontare.

Inizialmente, la containerizzazione delle applicazioni era riservata a un pubblico di nicchia con elevate competenze tecniche.

Docker nasce proprio per rivoluzionare questa situazione. Docker rende disponibile, infatti, un software open-source che offre una soluzione semplice ed efficiente per eseguire, implementare e distribuire container. Questo strumento, infatti, ha ridotto significativamente le barriere tecniche, rendendo la containerizzazione accessibile a un pubblico più ampio.

Molte aziende, inclusa CloudFire, hanno adottato Docker su larga scala, ospitando i container in vari ambienti come VM o server fisici.

Tuttavia, questa proliferazione di container ha reso sempre più difficile ottimizzare le risorse e mantenere il controllo sulle applicazioni.

A seguito al suo utilizzo, infatti, siamo arrivati ad alcune considerazioni che riteniamo tutt’ora I pilastri di una strategia legata ai container come l’importanza di:

  • creare una corretta struttura di comunicazione tra container;
  • tenere traccia del deploy dei container, definendo su file le configurazioni necessarie;
  • monitorare lo stato di ciascun container ed avere meccanismi automatici di riparazione in caso di problemi.

Docker ad oggi, tuttavia, come implementazione CRI (Container Runtime Interface) ha fatto il suo tempo. Non è più supportato da Kubernetes stesso e, come puoi immaginare, sono nate altre implementazioni come ContainerD, CRI-O che seguono invece che supportano K8s.

Kubernetes: lo standard de facto per l’orchestrazione dei container

Per affrontare le complessità legate alla gestione di numerosissimi container, è stato necessario adottare un orchestratore: Kubernetes.

Come abbiamo già detto in altri articoli, Kubernetes è un software open-source che facilita il deployment e la gestione dell'intero ciclo di vita del container, assicurando scalabilità e resilienza.

Nonostante Kubernetes sia un potente strumento per il deployment e la gestione dei container, la sua configurazione e manutenzione richiede competenze avanzate, spesso difficili da trovare anche tra esperti Cloud Architect.

Rancher: per semplificare la gestione di Cluster Kubernetes

Per rendere Kubernetes più accessibile e gestibile, molte aziende ricorrono a soluzioni di gestione di Cluster come Rancher.

Rancher è uno stack software completo che semplifica il deployment di nuovi cluster Kubernetes. Abbinando facilità d'uso ed efficienza, Rancher si esegue, a sua volta, in un container e la sua installazione è semplice quanto eseguire un singolo comando.

Una volta eseguito tale comando, il container che ospita Rancher sarà in esecuzione e basterà navigare all'indirizzo IP della macchina che ospita il container e seguire le istruzioni indicate.

Una volta eseguito il login in Rancher poi, creare un nuovo cluster diventa un'operazione intuitiva. Occorrerà definire il nome del cluster, selezionare le macchine host e configurare il CNI (Container Network Interface).

Mai più senza Rancher

In conclusione, in CloudFire scegliamo ed utilizziamo Rancher come gestore di Kubernetes perché:‍

  • Gestione centralizzata ed efficienza: Rancher permette di agire in più modi🎨 dalla creazione al deploy di cluster K8s🛞 e il loro aggiornamento, sia per test interni che per produzione, e soprattutto per la loro gestione. In questo modo tutti i setup vengono gestiti centralmente eliminando completamente errori di configurazione offrendo un'unica dashboard ai vari operatori mantenendo la personalizzazione di ciascun cluster;
  • Sicurezza avanzata 🛡️: Rancher agevola la configurazione del Role Based Acces Control (RBAC) e fornisce reportistiche dettagliate sul suo utilizzo;
  • Monitoring ⚠️& Alerting🚨 rapidi: Rancher facilita l’avvio di un sistema di monitoraggio e alerting basato su Prometheus e Grafana senza necessità di competenze specifiche;
  • Integrazione avanzata: Rancher si integra con alcuni componenti che facilitano ancora di più le operazioni complesse come Longhorn per lo storage direttamente su Kubernetes e NeuVector per la parte di security;
  • No lock-in: Rancher, insieme a CloudFire, permette l'interconnessione con cluster precedentemente installati evitando migrazioni applicative. Su questo punto, infatti, in CloudFire abbiamo già predisposto ed implementato progetti di interconnessione 🖇con l'interfaccia Rancher senza alcuna migrazione applicativa.

Ad oggi possiamo dire che la combinazione di Kubernetes e Rancher permette di affrontare agevolmente le sfide del deploy di container, ottimizzando risorse e migliorando la gestione delle applicazioni.

Se volete approfondire ulteriormente qualche concetto in questo articolo non esitate a contattarci qui.

FAQ

Quali sono i vantaggi concreti di utilizzare Kubernetes as a Service con Rancher?

Rancher semplifica drasticamente la gestione di Kubernetes, offrendo un'interfaccia centralizzata per il deployment, la sicurezza e il monitoraggio di cluster multipli. Riduce l'operatività sistemistica del team DevOps, accelerando il rilascio delle applicazioni in produzione.

In cosa differisce il KaaS di CloudFire rispetto ai servizi degli Hyperscaler (es. EKS, GKE)?

Il servizio di CloudFire si basa su standard open source (OpenStack e Rancher), eliminando il vendor lock-in. Garantisce la sovranità del dato interamente in Italia, un modello di pricing trasparente senza egress fees e un supporto tecnico umano e diretto, non gestito via ticket automatizzati.

Come viene gestito lo storage persistente per i container in questa architettura?

L'infrastruttura sottostante sfrutta lo storage distribuito Ceph, garantendo volumi persistenti ad alte prestazioni e ridondati per i container. Questo assicura la massima resilienza dei dati anche in caso di failover dei nodi del cluster Kubernetes.

Potrebbe interessarti anche