CoursesHelmBeginner

Install, repos & using charts

helm install from a public chart.

Intermediate12 min · lesson 2 of 12

Helm v3 is a single binary; install it and it uses your existing kubeconfig and context — whatever cluster kubectl points at, Helm targets. Charts live in repositories (HTTP repos, or increasingly OCI registries). You add a repo, update its index, search it, and install. The workflow to run someone else’s software is: add repo, install chart, done.

terminal
$ helm version
version.BuildInfo{Version:"v3.15.2"}
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo update
$ helm search repo ingress-nginx
NAME CHART VERSION APP VERSION
ingress-nginx/ingress-nginx 4.11.1 1.11.1

Install, list, upgrade, rollback

helm install creates a release from a chart; you give the release a name and optionally a namespace. helm list shows releases and their revision; helm upgrade applies a new chart version or new values, bumping the revision; helm rollback returns to an earlier revision; helm uninstall removes it. Every operation is tracked, which is what makes Helm safer than kubectl apply for whole apps — you can always go back.

terminal
$ helm install web ingress-nginx/ingress-nginx --version 4.11.1 -n ingress --create-namespace
$ helm list -n ingress
NAME NAMESPACE REVISION STATUS CHART
web ingress 1 deployed ingress-nginx-4.11.1
$ helm upgrade web ingress-nginx/ingress-nginx --version 4.11.2 -n ingress
$ helm rollback web 1 -n ingress # back to revision 1
Always pin --version
Without --version, helm install grabs the latest chart in the repo, which changes over time — so two installs “of the same thing” can differ, and a re-run in CI is not reproducible. Pin the chart version explicitly (and, later, verify its provenance). “Latest” is exactly the moving-target problem you avoid everywhere else in IaC.