Ce face helm install / helm upgrade
Helm este „apt/brew-ul pentru Kubernetes”: în loc să scrii și să întreții de mână zeci de fișiere YAML pentru aplicații precum NGINX Ingress, Prometheus, Redis, PostgreSQL sau Argo CD, instalezi un Chart — un pachet versionat de șabloane YAML parametrizate printr-un singur fișier values.yaml.
Fiecare instalare a unui chart într-un cluster se numește Release și are propriul istoric de revizii. Comanda helm upgrade --install este forma idempotentă preferată în practică și în CI/CD: instalează release-ul dacă nu există încă sau îl actualizează dacă există deja.
Înainte de a instala ceva în cluster, poți rula helm template ca să vezi pe ecran exact manifestele YAML rezultate după înlocuirea variabilelor, iar dacă un upgrade eșuează, helm rollback te readuce la revizia anterioară.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
repo add NUME URL && helm repo update |
Adaugă un depozit de chart-uri și îi actualizează indexul local. |
search repo CUVÂNT [--versions] |
Caută chart-uri și versiunile lor disponibile. |
show values CHART |
Afișează toate opțiunile configurabile din values.yaml ale chart-ului. |
upgrade --install RELEASE CHART |
Instalează sau actualizează un release (forma idempotentă). |
-f, --values=FIȘIER.yaml |
Fișier cu valorile tale personalizate care suprascriu valorile implicite ale chart-ului. |
--set CHEIE=VALOARE |
Suprascrie punctual o valoare direct din linia de comandă. |
--version=X.Y.Z |
Fixează versiunea chart-ului (recomandat în producție pentru reproductibilitate). |
--create-namespace |
Creează automat namespace-ul dat cu -n dacă nu există. |
--atomic / --wait |
Așteaptă ca toate pod-urile să devină Ready și, cu --atomic, face rollback automat dacă lansarea eșuează. |
list -A / history / rollback / uninstall |
Listează release-urile, vede istoricul, revine la o revizie veche sau dezinstalează complet release-ul. |
Exemple
Exemplul 1: Adăugarea unui depozit și instalarea ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace \
--version 4.11.3 --wait
Ieșire în terminal
"ingress-nginx" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
Release "ingress-nginx" does not exist. Installing it now.
NAME: ingress-nginx
LAST DEPLOYED: Mon Apr 20 10:15:42 2026
NAMESPACE: ingress-nginx
STATUS: deployed
REVISION: 1
Exemplul 2: Listarea release-urilor, inspectarea valorilor și rollback
helm list -A
helm get values ingress-nginx -n ingress-nginx
helm rollback ingress-nginx 1 -n ingress-nginx
Ieșire în terminal
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
ingress-nginx ingress-nginx 2 2026-04-20 10:22:10.418204 +0300 EEST deployed ingress-nginx-4.11.3 1.11.3
USER-SUPPLIED VALUES:
null
Rollback was a success! Happy Helming!
Greșeli frecvente
- Rularea lui
helm upgradefără-f values.yamlsau fără--reuse-valuesdupă ce la instalare ai folosit un fișier de valori: toate personalizările anterioare sunt resetate la valorile implicite ale chart-ului. - Editarea manuală cu
kubectl edita resurselor create de Helm: la următorulhelm upgrademodificările manuale vor fi suprascrise.
Comenzi înrudite
kubectl apply: Creează sau actualizează declarativ resurse din fișiere YAML/JSON ori directoare Kustomize.Obiectul Ingress: Expune servicii HTTP și HTTPS în afara clusterului, cu rutare după domeniu/cale și terminare TLS.kubectl rollout: Monitorizează lansarea unei versiuni noi, revine la o revizie anterioară (undo) sau repornește treptat pod-urile.Obiectul Namespace: Împarte un cluster fizic în sub-clustere logice izolate pe echipe, proiecte sau medii.