Helm in 5 minuti

  • Di
  • 2023-07-27 - 4 minuti
banner

Cos’è Helm

Helm è un gestore di pacchetti open-source per Kubernetes.

Viene utilizzato per installare, aggiornare e gestire le applicazioni sui cluster Kubernetes.

Il concetto di Chart in Helm rappresenta il formato di pacchetto in cui Helm definisce un’applicazione. Nella pratica, è un insieme di file che serve a definire un’applicazione con le relative risorse, che ne permette il rilascio e l’installazione all’interno del cluster.

Struttura di un Chart

Un Chart è costituito da diversi componenti organizzati in una specifica struttura di cartelle:

  • Il file Chart.yaml, che contiene i metadati, come il nome, la versione e la descrizione. Questo file viene utilizzato per descrivere il Chart e fornire informazioni sull’applicazione che esso rappresenta.
  • Il file values.yaml, che contiene i parametri configurabili utilizzati per personalizzare l’installazione del grafico. Questo file serve a definire i valori utilizzati durante l’installazione dell’applicazione, come il numero di repliche, l’immagine da utilizzare e altre opzioni di configurazione.
  • La cartella charts/, che può essere usata per memorizzare le dipendenze del Chart. Ad esempio, se l’applicazione richiede un database, è possibile includere il database come dipendenza. In questo modo ci si assicura che il database venga installato insieme all’applicazione quando il Chart viene deployato.
  • La cartella templates/, che contiene i manifesti (o file YAML) che definiscono le risorse da installare. Questa directory viene utilizzata per definire gli oggetti Kubernetes necessari per l’esecuzione dell’applicazione, come Deployment, i Services e Ingress.

Esempio di struttura di un Chart

In generale, la struttura delle cartelle di un Chart è stata progettata per essere intuitiva e facile da usare. Organizzando i componenti in directory specifiche, è più facile gestire le applicazioni sui cluster Kubernetes e condividerle con altri.

Installare Helm

Helm può essere installato su diversi sistemi operativi, tra cui Windows, Mac e Linux. Per installare Helm sul proprio sistema operativo, è possibile seguire la guida all’installazione sul sito ufficiale di Helm.

Come creare un Chart

Una volta installato Helm, si può iniziare a costruire il proprio Chart di esempio utilizzando la riga di comando. Per farlo, eseguiamo il comando:

helm create [NOME_CHART]

Questo comando crea una nuova cartella con il nome del Chart specificato, che conterrà i file necessari per definire l’applicazione, compresi quelli descritti in precedenza.

Installare un Chart

Definita l’applicazione utilizzando il Chart, è possibile installarla sul cluster Kubernetes utilizzando il comando helm install:

helm install [NOME_CHART] [NOME_RELEASE]

Una release è un’istanza di un Chart in esecuzione in un cluster Kubernetes con un nome specifico. Quando un Chart viene installato, la libreria Helm crea una release per tenere traccia dell’installazione.

Questo significa che un singolo Chart può essere installato più volte nello stesso cluster e creare molte release diverse: ad esempio, è possibile installare tre database PostgreSQL eseguendo helm install tre volte e fornire un nome di release diverso.

Come aggiornare un’applicazione

Uno dei vantaggi dell’uso di Helm Chart è che consente di aggiornare e ripristinare facilmente l’applicazione. È possibile aggiornare l’applicazione modificando il file values.yaml e utilizzando il comando helm upgrade.

helm upgrade [NOME_RELEASE] [NOME_CHART]

Questo comando aggiorna il Chart e il nome della release specificati sul cluster.

E se volessi tornare indietro di una modifica?

Come il software versioning, è possibile tornare indietro di un “commit” anche nelle release, e per questo esiste il comando helm rollback:

helm rollback [NOME_RELEASE] [REVISIONE]

Ad esempio, un’applicazione potrebbe avere per la stessa release diverse revisioni, che corrispondono a diverse modifiche e aggiornamenti della stessa, ognuna con una revisione diversa:

helm history myapp
>>>
REVISION    UPDATED                     STATUS          CHART             APP VERSION     DESCRIPTION
1           Mon Oct 3 10:15:13 2016     superseded      alpine-0.1.0      1.0             Initial install
2           Mon Oct 3 10:15:13 2016     superseded      alpine-0.1.0      1.0             Upgraded successfully
3           Mon Oct 3 10:15:13 2016     superseded      alpine-0.1.0      1.0             Rolled back to 2
4           Mon Oct 3 10:15:13 2016     deployed        alpine-0.1.0      1.0             Upgraded successfully

Semplice, no?

Risorse utili

Post correlati

Iscriviti al TheRedCode.it Corner

La tecnologia corre, e tu devi correre più veloce per rimanere sempre sul pezzo! 🚀

Riceverai una volta al mese (o anche meno) con codici sconto per partecipare agli eventi del settore, quiz per vincere dei gadget e i recap degli articoli più interessanti pubblicati sul blog

Ci sto!

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source
Logo di NgRome

Vuoi diventare #tech content writer? 🖊️

Se vuoi raccontare la tua sul mondo #tech con dei post a tema o vuoi condividere la tua esperienza con la community, sei nel posto giusto! 😉

Manda una mail a collaborazioni[at]theredcode.it con la tua proposta e diventa la prossima penna del blog!

Ma sì, facciamolo!