Questo articolo è la continuazione del mio articolo "Cos'è Helm e come installarlo sul server Ubuntu 20.04?". Se non conosci Helm, ti consiglierei di leggere prima l'articolo che ho menzionato. In questo articolo rilasceremo Apache dal grafico esistente. Creeremo un grafico di esempio e lo rilasceremo, aggiorneremo, eseguiamo il rollback, lo elimineremo e lo ripristineremo. Vediamo i comandi in breve prima di usarli nell'articolo successivo.
- ricerca timone :Cerca i grafici di Helm
- Repo di timone :esegui operazioni come aggiungere, elencare, rimuovere, aggiornare e indicizzare nel repository
- elimina timone :Elimina il grafico che a sua volta elimina tutti i suoi oggetti Kubernetes.
- stato del timone :Visualizza lo stato della versione.
- Crea timone :crea una mappa del timone.
- Installazione del timone :Installa un grafico che a sua volta crea i suoi oggetti Kubernetes
- Miglioramento del timone :aggiorna una versione con le modifiche apportate.
- storia del timone :Ottieni la cronologia della versione.
- rollback del timone :ripristina le modifiche alla versione precedente.
Prima di procedere si presume che tu abbia familiarità con le basi di Helm. Si presume inoltre che tu abbia già installato un cluster Kubernetes e un client timone.
Prerequisiti
- Cluster Kubernetes con almeno 1 nodo di lavoro.
Se vuoi imparare a creare un Cluster Kubernetes, fai clic qui. Questa guida ti aiuterà a creare un cluster Kubernetes con 1 master e 2 nodi su istanze AWS Ubuntu 18.04 EC2. - Helm installato sul tuo nodo principale (cerca il mio articolo intitolato "Cos'è Helm e come installarlo sul server Ubuntu 20.04" per comprendere le basi di Helm e installarlo).
Cosa faremo?
- Rilascia un grafico di esempio dal repository.
- Crea un grafico e rilascia un'applicazione di esempio.
- Aggiorna la versione.
- Ripristina la versione dopo che è stata eliminata
Rilascia un grafico di esempio dal repo
Per prima cosa, controlliamo se l'"elmo" è disponibile sul server o meno.
versione timone
Ad esempio, proviamo a installare un grafico Apache dall'hub. Esegui il comando seguente per cercare Apache sull'hub.
hub di ricerca timone apache
Otterrai una serie di risultati, copierai l'URL di una delle ricerche per Apache. In questo caso, ho copiato il primo URL.
Premi l'URL nel browser web e vedrai una pagina come segue.
In questa pagina riceverai i comandi per aggiungere un repository al tuo sistema locale e installare il grafico da esso.
Esegui i comandi sul tuo sistema locale che aggiungerà il repository per il grafico Apache.
helm repo aggiungi bitnami https://charts.bitnami.com/bitnami
lista repo timone
Una volta che hai il repository sul tuo sistema, sei pronto per installare il chart e creare una versione per Apache utilizzando Helm.
helm install my-release bitnami/apache
Dopo aver eseguito correttamente i comandi, vedrai l'output come sopra.
Una volta rilasciato il grafico, puoi vedere gli oggetti creati nel cluster Kubernetes.
kubectl ottiene nodi
kubectl ottieni i pod
Ora puoi ottenere l'IP del pod e provare a raggiungere la pagina di Apache utilizzando il comando curl.
kubectl get pods -o wide
kubectl ottieni svc
ricciolo 10.244.1.2:8080
Se vuoi eliminare la rilascio puoi farlo semplicemente usando il seguente comando
helm elimina la mia versione
Puoi elencare le versioni nel cluster e vedere se la versione è stata eliminata correttamente o meno.
timone ls
stato del timone my-release
Crea un grafico e distribuisci un'applicazione di esempio
Nello scenario precedente, abbiamo installato un grafico che era prontamente disponibile e configurato. Possiamo creare il nostro grafico e rilasciare la nostra applicazione. Creare un grafico è molto semplice usando helm. Se esegui il comando seguente, otterrai un grafico con un'applicazione di esempio di Nginx al suo interno.
timone crea la mia prima carta
Esplora la struttura delle cartelle del grafico che abbiamo creato usando il comando precedente.
cd il mio primo grafico/
ls -l
ls -l grafici/
ls -l modelli/
ls -l templates/tests/
Controlla il contenuto del file Chart.yaml.
ls -lt
gatto Chart.yaml
Controlla il contenuto di values.yaml
ls -lt
valori di gatto.yaml
Ora distribuiamo l'applicazione di esempio utilizzando il grafico locale.
pwd
cd..
ls -l | grep il mio primo grafico
kubectl ottieni i pod
helm install my-first-release my-first-chart/
Una volta che il grafico è stato rilasciato correttamente, puoi vedere un pod creato nel cluster.
kubectl ottieni i pod
kubectl ottieni svc
Ora puoi accedere al pod Nginx tramite il servizio.
ricciolo 10.104.229.187
Puoi trovare informazioni sulla versione che abbiamo creato usando il comando seguente.
timone ls
stato del timone il mio-primo-rilascio
Aggiorna la versione
Nello scenario precedente, abbiamo creato un grafico con un'applicazione Nginx di esempio. Il conteggio delle repliche nello scenario precedente era 1. Se desideri aumentare il conteggio delle repliche, puoi farlo facilmente apportando modifiche al file values.yaml.
cat il mio-primo-grafico/values.yaml | grep replica
vim my-first-chart/values.yaml
cat il mio-primo-grafico/values.yaml | grep replica
timone ls
Ora puoi facilmente implementare le modifiche e aggiornare la tua versione.
helm upgrade my-first-release my-first-chart/
Puoi anche notare la revisione della rilascio aggiornata alla 2.
timone ls
Questa volta puoi vedere due pod in esecuzione nel cluster poiché avevamo specificato il conteggio delle repliche su 2.
kubectl ottieni i pod
timone ls
Se controlliamo la cronologia del rilascio noteremo che il rilascio ha due revisioni. La prima revisione aveva 1 pod e in seguito abbiamo aggiornato il conteggio delle repliche a 2 creando la revisione 2 della versione.
storia del timone my-first-release
Se non vogliamo che le modifiche vengano rilasciate nella revisione 2 e vogliamo ripristinare la revisione 1, possiamo semplicemente farlo utilizzando il seguente comando di rollback.
helm rollback my-first-release 1
timone ls
E questo creerà la revisione 3 per il rilascio.
storia del timone my-first-release
Ora puoi vedere che c'è solo un pod in esecuzione nel cluster.
kubectl ottieni i pod
Nel caso in cui desideri eliminare l'applicazione Nginx di esempio rilasciata dal grafico, puoi eliminarla eliminando la versione.
timone ls
helm elimina la mia prima versione
timone ls
Ripristina la versione dopo che è stata eliminata
Nello scenario precedente, abbiamo eliminato il rilascio. Ma per impostazione predefinita, la versione non conserva la cronologia delle versioni quando viene eliminata. Nel caso in cui desideri ripristinare in uno scenario del genere, non sarai in grado di farlo a meno che non specifichi l'opzione --keep-history nel comando di eliminazione del rilascio.
timone ls
helm install my-second-release my-first-chart/
timone ls
Se specifici --keep-history opzione durante l'eliminazione del rilascio, il timone creerà una nuova versione del rilascio. In questo modo è possibile ripristinare la versione di lavoro precedente anche dopo aver eliminato la release o l'applicazione.
helm delete my-second-release --keep-history
timone ls
timone ls -a
storia del timone my-second-release
rollback del timone my-second-release 1
timone ls
storia del timone my-second-release
Conclusione
In questo articolo abbiamo distribuito un'applicazione di esempio dal grafico Helm disponibile su Internet. Abbiamo anche visto i passaggi per creare un grafico Helm sul nostro sistema e rilasciarlo. Insieme a questo, abbiamo visto come eliminare i grafici Helm, tornare alle versioni precedenti e conservare la cronologia delle versioni anche dopo aver eliminato la chat.