Usare Helm per distribuire i contenitori in un cluster Kubernetes

Helm è uno strumento di creazione dei pacchetti open source che consente di installare e gestire il ciclo di vita delle applicazioni Kubernetes. Analogamente ai responsabili di pacchetto Linux, ad esempio Apt-get e Yum, Helm viene usato per gestire i grafici Kubernetes, che sono pacchetti di risorse Kubernetes preconfigurati. In questo articolo viene illustrato come usare Helm in un cluster Kubernetes distribuito nel servizio contenitore di Azure.

Helm presenta due componenti:

  • L'interfaccia della riga di comando Helm è un client in esecuzione nel computer locale o nel cloud

  • Tiller è un server che viene eseguito sul cluster Kubernetes e gestisce il ciclo di vita delle applicazioni Kubernetes

Prerequisiti

Nozioni di base di Helm

Per visualizzare informazioni sul cluster Kubernetes in cui si installa Tiller e si distribuiscono le applicazioni, digitare il comando seguente:

kubectl cluster-info 

kubectl cluster-info

Dopo aver installato Helm, installare Tiller sul cluster Kubernetes digitando il comando seguente:

helm init --upgrade

Dopo che l'operazione viene completata correttamente, viene visualizzato un output simile al seguente:

Installazione di Tiller

Per visualizzare tutti i grafici di Helm disponibili nel repository, digitare il comando seguente:

helm search 

Viene visualizzato un output simile al seguente:

Ricerca Helm

Per aggiornare i grafici in modo da ottenere le versioni più recenti, digitare:

helm repo update 

Distribuire un grafico controller in ingresso Nginx

Per distribuire un grafico controller in ingresso Nginx, digitare un singolo comando:

helm install stable/nginx-ingress 

Distribuire il controller in ingresso

Se si digita kubectl get svc per visualizzare tutti i servizi che sono in esecuzione nel cluster, si noti che al controller in ingresso viene assegnato un indirizzo IP. Mentre è in corso l'assegnazione, viene visualizzato <pending>. Il completamento dell'operazione richiede alcuni minuti.

Dopo che è stato assegnato l'indirizzo IP, passare al valore dell'indirizzo IP esterno per visualizzare l'esecuzione back-end di Nginx.

Indirizzo IP in ingresso

Per visualizzare un elenco dei grafici installati nel cluster, digitare:

helm list 

È possibile abbreviare il comando in helm ls.

Distribuire un client e un grafico di MariaDB

Distribuire ora un grafico MariaDB e un client MariaDB per connettersi al database.

Per distribuire il grafico MariaDB, digitare il comando seguente:

helm install --name v1 stable/mariadb

dove --name è un tag usato per le versioni.

Suggerimento

Se la distribuzione non riesce, eseguire helm repo update e riprovare.

Per visualizzare tutti i grafici distribuiti nel cluster, digitare:

helm list

Per visualizzare tutte le distribuzioni in esecuzione nel cluster, digitare:

kubectl get deployments 

Infine, per eseguire un pod per accedere al client, digitare:

kubectl run v1-mariadb-client --rm --tty -i --image bitnami/mariadb --command -- bash  

Per connettersi al client, digitare il comando seguente sostituendo v1-mariadb con il nome della distribuzione:

sudo mysql –h v1-mariadb

È ora possibile usare i comandi standard di SQL per creare database, tabelle e così via. Ad esempio, Create DATABASE testdb1; crea un database vuoto.

Passaggi successivi