Introduzione
I grafici Helm sono una delle migliori pratiche per la creazione di cluster efficienti in Kubernetes. È una forma di packaging che utilizza una raccolta di risorse Kubernetes. I grafici timone utilizzano queste risorse per definire un'applicazione.
I grafici Helm utilizzano un approccio basato su modelli per distribuire le applicazioni. I modelli danno struttura ai progetti e sono adatti a qualsiasi tipo di applicazione.
Questo articolo fornisce istruzioni dettagliate per creare e distribuire un grafico Helm.

Prerequisiti
- Accesso a una CLI
- Cluster Minikube installato e configurato. (Per assistenza, segui le nostre guide Come installare Minikube su Ubuntu e Come installare Minikube su CentOS.)
- Timone installato e configurato.
Crea mappa del timone
La creazione di un grafico Helm implica la creazione del grafico stesso, la configurazione della policy pull dell'immagine e la specifica di dettagli aggiuntivi in values.yaml file.
Passaggio 1:crea un nuovo grafico timone
1. Per creare un nuovo grafico Helm, usa:
helm create <chart name>
Ad esempio:
helm create phoenixnap

2. Usando il comando ls, elenca la struttura del grafico:
ls <chart name>

La directory del diagramma di Helm contiene:
- Directory grafici – Utilizzato per aggiungere grafici dipendenti. Vuoto per impostazione predefinita.
- Directory modelli – File di configurazione da distribuire nel cluster.
- File YAML – Schema della struttura del grafico Helm.
- YAML file – Informazioni sulla formattazione per la configurazione del grafico.
Fase 2:Configura la politica di pull dell'immagine del grafico del timone
1. Apri values.yaml file in un editor di testo. Individua l'immagine valori:

Sono disponibili tre valori per pullPolicy :
IfNotPresent
– Scarica una nuova versione dell'immagine se non ne esiste una nel cluster.Always
– Estrae l'immagine a ogni riavvio o distribuzione.Latest
– Estrae la versione più aggiornata disponibile.
2. Modificare l'immagine pullPolicy da IfNotPresent
a Always
:

Fase 3:sostituzione del nome della mappa del timone
Per sovrascrivere il nome del grafico in values.yaml file, aggiungi valori a nameOverride e fullnameOverride :

Ad esempio:

L'override del nome del grafico Helm assicura che anche i file di configurazione cambino.
Fase 4:specifica il nome dell'account di servizio
Il nome dell'account di servizio per il grafico Helm viene generato quando esegui il cluster. Tuttavia, è buona norma impostarlo manualmente.
Il nome dell'account del servizio assicura che l'applicazione sia direttamente associata a un utente controllato nel grafico.
1. Individua l'account di servizio valore in values.yaml file:

2. Specificare il nome dell'account di servizio:

Fase 5:modifica il tipo di servizio di rete
Il tipo di servizio di rete consigliato per Minikube è NodePort
.
1. Per modificare il tipo di servizio di rete, individuare il servizio valore:

2. Modificare il tipo da ClusterIP
a NodePort
:

Distribuisci il grafico del timone
Dopo aver configurato values.yaml file, controlla lo stato del tuo cluster Minikube e distribuisci l'applicazione utilizzando i comandi Helm.
Fase 1:controlla lo stato del minikube
Se Minikube non è in esecuzione, il passaggio del grafico di installazione di Helm restituisce un errore.
1. Controlla lo stato di Minikube con:
minikube status
Lo stato viene visualizzato come In esecuzione .

2. Se lo stato mostra Interrotto , esegui:
minikube start

L'output mostra Fatto e lo stato cambia in In esecuzione .
Fase 2:installa la mappa del timone
Installa il grafico Helm utilizzando l'helm install
comando:
helm install <full name override> <chart name>/ --values <chart name>/values.yaml
Ad esempio:
helm install phoenix-chart phoenixnap/ --values phoenixnap/values.yaml

L'helm install
comando distribuisce l'app. I passaggi successivi sono riportati nelle NOTE sezione dell'output.
Fase 3:esporta la porta del nodo pod e l'indirizzo IP
1. Copia i due export
comandi da helm install
uscita.
2. Eseguire i comandi per ottenere la porta del nodo Pod e l'indirizzo IP:

Fase 4:Visualizza l'applicazione distribuita
1. Copia e incolla l'echo
comando ed eseguilo nel terminale per stampare l'indirizzo IP e la porta:

2. Copia il link e incollalo nel browser oppure premi CTRL+clic per visualizzare l'applicazione distribuita:
