Introduzione
Helm è uno strumento di distribuzione Kubernetes per automatizzare la creazione, il confezionamento, la configurazione e la distribuzione di applicazioni e servizi nei cluster Kubernetes.
Kubernetes è un potente sistema di orchestrazione di container per la distribuzione delle applicazioni. Esistono più risorse indipendenti da gestire e ognuna richiede un file manifest YAML dedicato.
Questo articolo spiega cosa sono i grafici Helm e Helm e come automatizzare la distribuzione delle applicazioni su Kubernetes.
Cos'è Helm?
Se Kubernetes fosse un sistema operativo, Helm sarebbe il gestore dei pacchetti. Ubuntu usa apt
, CentOS usa yum
e Kubernetes usa helm
.
Helm distribuisce applicazioni in pacchetto su Kubernetes e le struttura in grafici. I grafici contengono tutte le risorse dell'applicazione preconfigurate insieme a tutte le versioni in un unico pacchetto facilmente gestibile.
Helm semplifica l'installazione, l'aggiornamento, il recupero delle dipendenze e la configurazione delle distribuzioni su Kubernetes con semplici comandi CLI. I pacchetti software si trovano nei repository o vengono creati.
Perché abbiamo bisogno dell'elmo?
Gli oggetti Kubernetes sono difficili da gestire. Con strumenti utili, la curva di apprendimento di Kubernetes diventa fluida e gestibile. Helm automatizza la manutenzione dei manifest YAML per gli oggetti Kubernetes impacchettando le informazioni nei grafici e le pubblicizza in un cluster Kubernetes.
Helm tiene traccia della cronologia delle versioni di ogni installazione e modifica della carta. Il rollback a una versione precedente o l'aggiornamento a una versione più recente vengono completati con comandi comprensibili.
Cosa puoi fare con Helm?
Helm consente agli sviluppatori di software di distribuire e testare un ambiente nel modo più semplice possibile. È necessario meno tempo per passare dallo sviluppo, al test e alla produzione.
Oltre ad aumentare la produttività, Helm offre agli sviluppatori un modo conveniente per imballare e inviare applicazioni agli utenti finali per l'installazione.
Come funziona Helm?
Helm e Kubernetes funzionano come un'applicazione client/server. Il client Helm invia le risorse al cluster Kubernetes. Il lato server dipende dalla versione:Helm 2 utilizza Tiller mentre Helm 3 si è sbarazzato di Tiller e si basa interamente sull'API Kubernetes.
Cos'è una mappa di timoni?
I grafici Helm sono pacchetti Helm costituiti da file e modelli YAML che vengono convertiti in file manifest Kubernetes. I grafici sono riutilizzabili da chiunque per qualsiasi ambiente, il che riduce la complessità e i duplicati. Le cartelle hanno la seguente struttura:
Come funzionano i grafici Helm?
I tre concetti di base delle carte Helm sono:
1. Grafico – Modello preconfigurato di risorse Kubernetes.
2. Rilascio – Un grafico distribuito in un cluster Kubernetes utilizzando Helm.
3. Archivio – Grafici disponibili al pubblico.
Il flusso di lavoro consiste nel cercare nei repository per grafici e installali nei cluster Kubernetes, creando release .
Struttura del grafico del timone
I file e le directory di un grafico Helm hanno ciascuno una funzione specifica:
Nome | Digita | Funzione |
---|---|---|
grafici/ | Rubrica | Directory per le dipendenze dei grafici gestite manualmente. |
modelli/ | Rubrica | I file modello vengono scritti in Golang e combinati con i valori di configurazione del file values.yaml per generare manifesti Kubernetes. |
Grafico.yaml | File | Metadati sul grafico, come versione, nome, parole chiave di ricerca, ecc. |
LICENZA (facoltativa) | File | Licenza per il grafico in formato testo normale. |
README.md (facoltativo) | File | Informazioni leggibili dall'uomo per gli utenti del grafico. |
requirements.yaml (facoltativo) | File | Elenco delle dipendenze del grafico. |
valori.yaml | File | Valori di configurazione predefiniti per il grafico. |
Crea grafici Helm manualmente o raccogli grafici disponibili pubblicamente dai repository.
Repository di grafici di timoni
I repository contengono grafici che possono essere installati o condivisi con altri utenti. Helm fornisce un comando per cercare direttamente dal client. Esistono due tipi generali di ricerca:
1. helm search hub
– Effettua ricerche nell'Hub degli artefatti da dozzine di repository.
2. helm search repo
– Cerca tra i repository aggiunti nel client helm locale utilizzando helm repo add .
Senza alcun filtro, tutti i grafici disponibili vengono visualizzati nel risultato della ricerca. Aggiungi un termine di ricerca per perfezionare la query. Ad esempio:
helm search hub wordpress
Quando trovi un grafico adatto, installalo usando helm install
.
Rilasci della classifica dei timoni
L'installazione di un grafico crea una versione del nuovo pacchetto. L'helm install
il comando accetta due argomenti:
helm install <release name> <chart name>
Esecuzione di helm install
stampa informazioni utili e se è necessario intraprendere azioni per l'installazione. I grafici sono personalizzabili e facilmente configurabili prima dell'installazione. Le versioni del timone sono facili da mantenere e ripristinare in caso di modifiche indesiderate.