Se provieni da un background di sviluppo, probabilmente conosci il termine Package Manager. I Package Manager ti consentono di installare dipendenze, aggiornare e retrocedere le versioni, e così via. In questo tutorial, vedremo un gestore di pacchetti molto popolare per Kubernetes, chiamato Helm.
Helm assiste nella gestione delle applicazioni Kubernetes. Con Helm, puoi definire un'applicazione Kubernetes, specificando i metadati, le dipendenze e le configurazioni dell'applicazione. Helm può anche installare applicazioni su Kubernetes, oltre ad aggiornare e retrocedere le applicazioni. Infine, puoi condividere la tua applicazione con altri utilizzando il file Helm. In questo tutorial, ti mostreremo come installare Helm 3, oltre a configurare, aggiornare, ripristinare e gestire chart e release su Windows OS.
Iniziamo!
Prerequisiti
Prima di iniziare il tutorial, devi assicurarti di avere prima le seguenti installazioni:
-
Se non hai configurato Kubernetes su Windows, il modo più semplice è iniziare con Docker Desktop. Vai su https://www.docker.com/products/docker-desktop. Scarica e installa Docker Desktop. In questo tutorial lavoreremo con Windows. Pertanto, dovremo installare WSL 2 Backend. Questo è un sottosistema Linux per Windows e abilita il supporto per Docker:

Una volta che Docker Desktop è pronto, vai su Impostazioni -> Kubernetes, e spunta l'opzione che dice Enable Kubernetes:


Per verificare se tutto funziona correttamente, vai sul terminale/powershell di qualsiasi sistema tu stia utilizzando e digita il comando seguente:
|
1 |
kubectl |
Se vedi l'output seguente, sei pronto a partire:

In alternativa, se decidi di lavorare su Ubuntu puoi seguire la nostra guida dettagliata: Come installare e utilizzare Kubernetes su Ubuntu 20.04.
Inoltre, prima di iniziare con il processo di installazione, diamo un'occhiata ad alcuni termini chiave associati a Helm.
-
Chart
I file YAML di Kubernetes sono pacchettizzati nei chart di Helm.
-
Repository Helm
Helm fornisce supporto per i repository. Un repository Helm è una posizione che ospita i chart di Helm in modo che altri possano usarli. Helm ti consente di creare i tuoi repository e supporta anche repository di terze parti.
-
Tiller
Tiller è il componente server di Helm. Deve essere installato sul cluster Kubernetes. Prende il Chart di Helm e configura il cluster di conseguenza.
Puoi anche dare un'occhiata al nostro articolo del blog che fornisce una panoramica dettagliata di Helm e spiega i metodi di Helm per semplificare la distribuzione delle applicazioni su Kubernetes.
Ora siamo pronti per iniziare!
Passo 1: Installare Helm 3
L'installazione di Helm 3 è un processo semplice. Le release sono disponibili sulla pagina GitHub di Helm. Puoi scaricare la release che utilizzerai in base al sistema operativo di tua scelta. In questo tutorial utilizzeremo il sistema operativo Windows, quindi per Windows segui i passaggi seguenti:
-
Nella pagina GitHub, scarica i binari di Helm per Windows.
-
Once the download has been finished, you will find the zipped archive in your Download folders or wherever you have downloaded it.
-
Successivamente, sposta questo archivio in una posizione comoda ed estrailo. Dovresti trovare il file helm.exe nei contenuti estratti:

-
Copia il percorso della cartella e aggiungilo alla variabile PATH nelle variabili d'ambiente del tuo sistema.
-
Una volta terminato, apri il terminale e digita il comando seguente:
|
1 |
helm |
Se vedi l'output seguente, hai completato l'installazione di Helm. Puoi quindi passare ai passaggi successivi:

Passo 2: Configurare i repository e installare un Helm Chart
Helm supporta l'accesso e la gestione dei repository. I repository sono i luoghi in cui vengono memorizzati i Chart di Helm. Inizialmente, Helm non ha un proprio repository. Piuttosto, Helm incoraggia i gestori e gli specialisti DevOps a creare i propri repository. Ciò significa che se vuoi avere MongoDB sul tuo cluster Kubernetes dovrai aggiungerlo tu stesso al Repository Helm. Per aiutarti a trovare i repository, puoi utilizzare Artifact.io. È un catalogo open-source per tutti i chart di Helm, gestito da la CNCF.
Di seguito ti mostreremo come configurare un repository e scaricare e installare il software. Prenderemo l'installazione di MongoDB come esempio. Supponiamo che tu debba installare MongoDB sul tuo cluster Kubernetes. Segui i passaggi seguenti per l'installazione:
-
Per prima cosa, vai su https://artifacthub.io.
-
Successivamente, cerca MongoDB. Una volta effettuata la ricerca, vedrai che sono disponibili molte opzioni. Quella che ci interessa è MongoDB by Bitnami:

-
Al termine della ricerca vedrai diverse opzioni. Per ogni chart, puoi vedere l'editore, la versione e altre informazioni rilevanti. Una volta individuata la chart desiderata, devi selezionarla. Qui stiamo cliccando su MongoDB by Bitnami:

-
Ora può effettivamente iniziare la parte tecnica. Se guardi la descrizione generale vedrai che è presente una buona guida per chiunque desideri installare uno qualsiasi dei servizi. Puoi verificare diverse opzioni, configurazioni, parametri, come eliminare la chart e qualsiasi altra cosa su cui potresti aver bisogno di informazioni. Trova il pulsante Install e cliccalo:

-
Ecco tutto ciò di cui hai bisogno per installare MongoDB. Per prima cosa, devi aggiungere il repository e poi installare la chart. Per aggiungere il repository, apri il terminale e digita il comando:
|
1 |
helm repo add bitnami https://charts.bitnami.com/bitnami |
Troverai il seguente output:

Ora che hai configurato il repository, devi installare la chart. Copia il comando dalla finestra di dialogo e poi eseguilo:
|
1 |
helm install my-mongodb bitnami/mongodb --version 10.23.10 |
Una volta terminato il processo, avrai finito con MongoDB.
Passaggio 3: Gestione delle release
Nello sviluppo software, la gestione delle release è fondamentale. Ci sono sempre momenti in cui è necessario aggiornare o ripristinare versioni precedenti. Fortunatamente, la gestione delle release in Helm è un processo relativamente semplice. Helm conserva i numeri di versione in modo da poter sempre tornare alla versione precedente. Allo stesso modo, supponiamo che la tua applicazione sia distribuita e attiva e che tu debba effettuare delle configurazioni: Helm supporta anche questo. Di seguito esamineremo alcune best practice per aiutarti a eseguire queste operazioni.
-
Come aggiornare l'applicazione
Supponiamo che nel tuo values.YAML file, tu indichi che devi avere due istanze dell'applicazione in esecuzione. Questo potrebbe essere dovuto al fatto che la tua applicazione deve essere ad alta disponibilità. Ma in seguito, ti rendi conto che l'applicazione deve avere tre istanze. Senza Helm, dovrai prima gestire l'applicazione e poi configurarla e ridistribuirla. Usando Helm, puoi prima apportare modifiche nel values.YAML file e poi semplicemente eseguire il comando seguente. Nella directory in cui si trovano i file di Helm, esegui il seguente comando:
|
1 |
helm upgrade <app-name> |
-
Come effettuare il rollback della release
Ora supponiamo che la tua release si rompa. Forse hai configurato numeri di porta o percorsi errati. Per ripristinare una qualsiasi versione precedente, tutto ciò che devi fare è eseguire il comando seguente, e poi Helm riporterà la release alla versione precedente:
|
1 |
C:\> helm rollback <release> |
Helm si occuperà di tutte le release e del controllo delle versioni. Questo è uno dei maggiori vantaggi dell'utilizzo di Helm con Kubernetes. Per vedere tutte le release di qualsiasi applicazione, esegui il comando seguente nella directory contenente le chart di Helm e i file YAML:
|
1 |
helm history RELEASE |
Passaggio 4: Crea la tua chart
Infine, ora che hai acquisito familiarità con Helm e hai capito come funziona, è il momento di creare la tua chart. Creando la tua chart personalizzata, puoi distribuire facilmente la tua applicazione e ospitarla in qualsiasi repository. Creare la tua chart è un processo piuttosto semplice se segui i passaggi che descriveremo di seguito. Per prima cosa, apri il terminale ed esegui il comando seguente:
|
1 |
helm create <chart-name> |
Questo creerà la directory con il nome che hai fornito. Stiamo usando il nome my-app. Vediamo il contenuto della cartella:
|
1 2 |
cd my-app ls |
Otterrai la struttura seguente:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
charts/ templates/ ├─ tests/ │ ├─ test-connection.yaml ├─ deployment.yaml ├─ hpa.yaml ├─ ingress.yaml ├─ NOTES.txt ├─ service.yaml ├─ serviceaccount.yaml ├─ _helpers.tpl ├─ .helmignore ├─ Chart.yaml ├─ values.yaml |
Ecco un riepilogo del contenuto dell'output:
- cartella charts – Utilizzata per aggiungere chart dipendenti.
- cartella templates – Configurazione che verrà distribuita nel cluster.
- File YAML – Schema della struttura del chart Helm.
- File YAML – Informazioni di formattazione per la configurazione del chart.
Successivamente, segui i passaggi seguenti per installare e configurare il tuo chart:
-
Configura l'immagine e il pull
Apri il file values.YAML. Qui trova il nodo dell'immagine. Quindi, puoi configurarlo come desideri. I valori possibili sono IfNotPresent, Always, Latest. Puoi trovare l'insieme completo dei valori nella documentazione ufficiale.
-
Sovrascrivi il nome del chart
Questo passaggio è facoltativo, quindi puoi saltarlo se lo desideri:

-
Nome del servizio
Apri il file
values.YAML e individua il
serviceName. Quindi, aggiungi il nome desiderato. È consigliabile avere un nome pronto prima di installare il chart:

-
Installa il chart
Infine, per installare il chart esegui il comando seguente:
|
1 |
helm install <sovrascrittura nome completo> <nome chart>/ --values <nome chart>/values.yaml |
Ti consigliamo di esplorare attentamente tutte le opzioni presenti per configurare il tuo chart prima di distribuirlo sul cluster.
Perché gli sviluppatori amano Helm
Helm sta guadagnando popolarità tra gli sviluppatori e gli specialisti DevOps che devono periodicamente avviare e arrestare i deployment. Ecco alcuni dei principali vantaggi di Helm:
-
Helm semplifica il processo di deployment. Non introduce nulla di nuovo da imparare, piuttosto rende i deployment YAML esistenti facilmente configurabili dall'utente.
-
Invece di modificare frequentemente la configurazione, come il numero di cluster o di porte, Helm la rende facilmente configurabile. Tutto ciò che l'utente deve fare è aggiornare i valori nel file values.YAML .
-
Helm consente di condividere l'applicazione con altri utenti impacchettandola nei repository.
Conclusione
In questo tutorial, abbiamo visto come configurare il package manager Helm da zero su Windows. Abbiamo esaminato diversi concetti chiave che devono essere compresi chiaramente per sfruttare la potenza di Helm. Abbiamo anche visto diverse funzionalità disponibili all'interno dei repository esplorati di Helm. Ora dovresti sentirti a tuo agio con Helm e poterlo implementare nel tuo prossimo progetto/deployment Kubernetes.
Per aumentare ulteriormente la tua conoscenza di Kubernetes e delle sue funzionalità, puoi dare un'occhiata ad altri tutorial sul nostro blog:
- Conoscere Kubernetes
- Come creare un cluster Kubernetes utilizzando Kubeadm su Ubuntu 18.04
- Distribuire un'applicazione PHP su un cluster Kubernetes con Ubuntu 18.04
Buon computing!
Commenti
Ancora nessun commento. Scrivi il primo.