Sari la conținutul principal

Modelul Helm și cerințe

De ce avem nevoie de Helm​

Manifestele Kubernetes sunt declarative, dar nu oferă singure un mecanism convenabil pentru:

  • reutilizarea aceleiași aplicații în mai multe medii
  • centralizarea valorilor care se schimbă
  • instalarea mai multor instanțe ale aceleiași aplicații
  • versionarea unei instalări și revenirea la o stare anterioară
  • împachetarea și distribuirea unui set de resurse Kubernetes.

Helm adaugă aceste capabilități peste API-ul Kubernetes. El randează template-urile local și trimite manifestele rezultate către cluster.

Termenii importanți​

TermenSemnificație în laborator
chartpachetul charts/ticketing, cu template-uri, valori și metadate
valuesconfigurația care este injectată în template-uri
releaseo instalare a chart-ului; release-ul nostru se numește ticketing
revisiono versiune din istoricul unui release, creată la install, upgrade sau rollback
repository/registrylocul din care poate fi distribuit un chart împachetat

Relația esențială este:

chart + values + numele release-ului → manifeste Kubernetes randate → resurse în cluster

Același chart poate produce resurse cu nume și configurații diferite dacă îi schimbăm release-ul, namespace-ul sau valorile.

Ce nu face Helm​

Helm nu înlocuiește Kubernetes și nu rulează permanent un controller propriu în cluster. După ce manifestele au fost aplicate, reconcilierea este realizată tot de controllerele Kubernetes.

Helm nu este nici manager de secrete. Un Secret randat de chart face parte din starea release-ului. În laborator folosim o parolă fictivă, dar într-un mediu real am folosi un Secret creat separat sau un sistem dedicat de gestionare a secretelor.

Cerințe​

Aveți nevoie de:

  • Docker
  • kubectl
  • kind
  • Helm 3
  • curl sau un client HTTP echivalent.

Verificați instrumentele:

docker version
kubectl version --client
kind version
helm version

Pentru instalarea Helm pe macOS poate fi folosit:

brew install helm

Pe celelalte platforme urmați instrucțiunile oficiale de instalare pentru Helm 3. Nu este necesar Tiller (acesta aparținea Helm 2).