Installiamo e configuriamo Helm per Kubernetes

Pensate ai vari file con cui bisogna armeggiare per creare deployment, service, configurazioni, secret e molto altro.

E quando bisogna aggiornare l’infrastruttura software, o addirittura rimuovere il tutto specie in fase di sviluppo? Quanto tempo perso cercando di mettere in piedi degli script che facciano il lavoro per noi. E se volessimo installare un API gateway, un service mesh con un semplice comando?

Avete presente i gestori di pacchetti per i linguaggi di programmazione? Per caso npm, pip vi dicono qualcosa?

Ebbene esiste una soluzione simile anche per Kubernetes e si chiama Helm.

Non è la sola ma probabilmente la più diffusa ed utilizzata.

Secondo quanto riportato sul sito ufficiale

Helm is the best way to find, share, and use software built for Kubernetes.

Nè più nè meno quello che faremmo in altri contesti.

Nel nostro esempio utilizziamo la versione 3.

L’unico prerequisito è la disponibilità di un cluster Kubernetes correttamente configurato e funzionante. E’ possibile crearne uno a costo zero seguendo le indicazioni riportate in questo post.

Nel nostro caso utilizzeremo un cluster gestito su DigitalOcean.

Sulla nostra macchina di sviluppo scarichiamo lo script di installazione

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

Rendiamolo eseguibile

chmod +x get_helm.sh

e infine lanciamolo

./get_helm.sh

helm1

Ora dobbiamo aggiungere il repository pubblico di Helm per installare i pacchetti, in gergo charts.

Eseguiamo

helm repo add stable https://kubernetes-charts.storage.googleapis.com/

Ora proviamo ad installare un chart di esempio sul cluster Kubernetes per verificare che tutto funzioni correttamente.

Si tratta del notissimo Ingress basato su nginx.

Il comando di installazione presenta una sintassi molto simile a quella di altri packet manager.

helm install nginx stable/nginx-ingress

helm2

Una semplice verifica ci permette di visualizzare i pod creati da nginx nonchè i relativi service ed  in particolare un Load Balancer che verrà creato direttamente da DigitalOcean.

helm3

Possiamo anche consultare la lista dei chart installati con

helm ls

helm4

Volendo procedere alla disinstallazione possiamo eseguire

helm delete nginx

dove nginx è proprio il nome del chart ricavato dalla precedente lista.

Anche in questo caso facciamo un controllo sulla lista di pod e service per essere sicuri che tutto sia stato rimosso.

helm5

N.B. Da notare che anche il Load Balancer su DigitalOcean è stato distrutto, salvaguardando il nostro portafoglio.

Per ora è tutto. Buona sperimentazione!

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Utilizzando il sito, accetti l'invio dei cookies da parte nostra. Maggiori informazioni

Questo sito utilizza i cookies per fornire la migliore esperienza di navigazione possibile. Continuando ad utilizzarlo senza modificare le impostazioni o cliccando su "Accetta" acconsenti al loro utilizzo.

Chiudi