Helm basics

Helm basics

A real application is a dozen manifests that must be applied in the right order with matching values. Helm packages them.

TermMeaning
Chartthe package - templates plus default values. Like an RPM or DEB
Repositorya web server with charts; Artifact Hub indexes the public ones
Releaseone installation of a chart in a cluster, with a unique name
Revisionone version of a release; every upgrade adds one
graph LR R[(Repository)] --> CH[Chart + values.yaml] V[your -f values.yaml / --set] --> H[helm] CH --> H H -->|render templates| M[Kubernetes manifests] M --> K[Cluster: release rev N]

One chart, many releases: install the same chart three times under three names and you get three independent instances.

Helm 3 is a single Go binary. It reads your ~/.kube/config like kubectl; there is no server-side component (Helm 2’s Tiller is long gone).

Note

Older tutorials install everything from the Bitnami repository. Bitnami deprecated its free catalog in August 2025 and moved the images behind a paid subscription, so those charts no longer work unmodified. The course uses podinfo and NGINX Gateway Fabric.

The commands you need

helm repo add podinfo https://stefanprodan.github.io/podinfo
helm repo update
helm search repo podinfo
helm show values podinfo/podinfo | less        # what can I configure?
helm install web podinfo/podinfo --set replicaCount=2
helm list
helm upgrade web podinfo/podinfo --set replicaCount=3
helm history web
helm rollback web 1
helm uninstall web

helm upgrade --install is idempotent - it is what belongs in a pipeline. Add --dry-run --debug to any install or upgrade to see the rendered YAML without touching the cluster.

Values precedence: --set beats -f, and a later -f beats an earlier one.

References