Laboratorul 4 - Helm
Despre Kubernetes
În laboratoarele anterioare, am orchestrat manual aplicații pe un cluster Kubernetes folosind
fișiere YAML și comenzi kubectl. Această abordare funcționează, însă, pe măsură ce aplicațiile
devin mai complexe și necesită configurări diferite pentru medii diferite, gestionarea manuală
a numeroaselor manifeste YAML devine dificilă și predispusă la erori. Aici intervine Helm, un
instrument de tip package manager pentru Kubernetes, care automatizează crearea, împachetarea
și instalarea resurselor Kubernetes într-un mod consistent, reutilizabil și
versionat.
📄️ Introducere
Helm introduce conceptul de chart: un pachet ce conține toate fișierele necesare pentru a instala o aplicație pe un cluster Kubernetes (deployment-uri, servicii, config map-uri, secrete, templating în YAML, etc.). Folosind șabloane și un fișier de valori parametrizabile, un chart permite personalizarea ușoară a configurației aplicației pentru medii diferite, fără a duplica fișiere YAML. Atunci când instalăm un chart pe un cluster, Helm creează un release, care este practic o instanță în rulare a chart-ului, pe care îl putem ulterior actualiza (upgrade) sau elimina (uninstall) cu ușurință.
📄️ Configurarea mediului local cu Kind
Kind ne permite să rulăm un cluster Kubernetes local în interiorul unor containere Docker,
📄️ Crearea unui chart Helm
Vom începe prin a crea un chart Helm simplu, pe care îl vom folosi pentru a deprinde conceptele
📄️ Instalarea unui chart Helm
Având chart-ul pregătit, următorul pas este instalarea lui pe clusterul Kubernetes. Comanda
📄️ Personalizarea unui chart Helm
Unul dintre avantajele majore ale Helm este ușurința cu care putem personaliza o instalare,
📄️ Instalarea unui chart dintr-un repository public
În practică, multe aplicații au deja chart-uri Helm pregătite, publicate în diferite
📄️ Helm pentru aplicații multi-pod
În această secțiune, vom folosi Helm pentru a orchestra o aplicație simplă compusă din două
📄️ Dezinstalarea release-urilor Helm și curățarea clusterului
La finalul experimentelor, este recomandat să curățăm resursele create în cluster pentru a
📄️ Concluzii
În acest laborator, am parcurs întregul flux de folosire a Helm pe un cluster local Kind. Am