Helm in 5 minuti

Immagine di copertina

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


🔗 Leggi anche:

Conosci meglio chi ha scritto questo articolo

Serena Sensini

Ciao! Mi chiamo Serena Sensini e sono la creatrice di @ TheRedCode.it. Ho aperto questo blog nel 2021 per raccontare il mio lavoro e il mondo dell’informatica a parole semplici, in piccole pillole e alla portata di tutte le persone.

Sono un’ingegnera informatica specializzata in ambito AI & NLP. Di giorno lavoro come CTO @ Welyk e come Innovation & Emerging Technologies Leader @ Dedalus, mentre di notte scrivo e sono autrice di 5 libri -per ora-. 🖊️

Foto di Serena Sensini

Partners

Community, aziende e persone che supportano attivamente il blog

Vuoi diventare tech content creator? 🖊️

Se ti va di raccontare la tua esperienza nel mondo tech, questo è il posto giusto.

Cerchiamo voci autentiche, esempi pratici e punti di vista utili per chi legge.

Scrivici a collaborazioni[at]theredcode.it con una proposta: idea, taglio del contenuto e una breve presentazione. Non vediamo l'ora di leggere la tua esperienza!

Invia la tua idea