Helm Cheatsheet
Helm is the package manager for Kubernetes. A chart is a package. A release is a chart installed into your cluster.
Repos
helm repo list # list all chart repos you have added
helm repo add bitnami https://charts.bitnami.com/bitnami # add the Bitnami repo
helm repo update # pull latest charts from all repos
helm repo remove bitnami # remove a repo
helm search repo nginx # search for charts named nginx
helm search repo nginx --versions # show all available versions
helm search hub wordpress # search the public Artifact Hub
Inspect a chart before installing
helm show chart bitnami/nginx # show chart metadata (name, version, description)
helm show values bitnami/nginx # show all configurable values and their defaults
helm show readme bitnami/nginx # show the chart README
Install
helm install my-nginx bitnami/nginx # install with a release name
helm install my-nginx bitnami/nginx --namespace prod # install into a specific namespace
helm install my-nginx bitnami/nginx --create-namespace # create namespace if it does not exist
helm install my-nginx bitnami/nginx --set replicaCount=3 # override one value
helm install my-nginx bitnami/nginx -f my-values.yaml # use a values file
helm install my-nginx bitnami/nginx -f values.yaml --set image.tag=1.25 # file + override
helm install my-nginx ./my-chart/ # install from a local chart directory
Upgrade
helm upgrade my-nginx bitnami/nginx # upgrade to latest chart version
helm upgrade my-nginx bitnami/nginx --set replicaCount=5 # upgrade with a value change
helm upgrade my-nginx bitnami/nginx -f values.yaml # upgrade with a values file
helm upgrade my-nginx bitnami/nginx --version 13.0.0 # upgrade to a specific chart version
helm upgrade --install my-nginx bitnami/nginx # install if not exists, upgrade if it does
Inspect releases
helm list # list all releases in current namespace
helm list -A # list releases in all namespaces
helm list -n prod # list releases in a specific namespace
helm status my-nginx # show the status of a release
helm get values my-nginx # show the values used for this release
helm get values my-nginx --all # show all values including defaults
helm get manifest my-nginx # show the rendered Kubernetes manifests
helm history my-nginx # show revision history of a release
Rollback
helm rollback my-nginx # roll back to the previous revision
helm rollback my-nginx 2 # roll back to revision 2 specifically
helm history my-nginx # check revision numbers before rolling back
Uninstall
helm uninstall my-nginx # delete a release (removes all Kubernetes resources)
helm uninstall my-nginx --keep-history # delete but keep history for rollback
Template and debug
helm template my-nginx bitnami/nginx # render the manifests without installing
helm template my-nginx bitnami/nginx -f values.yaml # render with your values
helm lint ./my-chart/ # check a local chart for errors
helm install my-nginx bitnami/nginx --dry-run # simulate install, show what would happen
Package and publish a chart
helm package ./my-chart/ # bundle a chart directory into a .tgz file
helm push my-chart-1.0.0.tgz oci://registry.example.com/charts # push to an OCI registry