Helm cheatsheet
Repositories
| Command | Description |
|---|---|
helm repo add NAME URL | Add chart repository |
helm repo update | Refresh repo indexes |
helm search repo KEYWORD | Search available charts |
helm repo list | List configured repos |
Install and upgrade
| Command | Description |
|---|---|
helm install RELEASE CHART -n NS | Install chart |
helm upgrade --install RELEASE CHART -n NS | Install or upgrade (idempotent) |
helm upgrade RELEASE CHART -f values.yaml -n NS | Upgrade with values file |
helm upgrade RELEASE CHART --set key=val -n NS | Inline value override |
helm uninstall RELEASE -n NS | Remove release and resources |
Release status and history
| Command | Description |
|---|---|
helm list -n NS | Releases in namespace |
helm list -A | All namespaces |
helm status RELEASE -n NS | Release state and resources |
helm history RELEASE -n NS | Revision list |
helm rollback RELEASE REV -n NS | Roll back to revision |
helm get values RELEASE -n NS | Effective values |
helm get manifest RELEASE -n NS | Rendered manifests |
Dry-run and render (safe preview)
helm template RELEASE ./chart -f values.yaml -n NS
helm install RELEASE CHART -f values.yaml --dry-run=server -n NS
helm lint ./chart
helm show values bitnami/nginx
OCI charts
helm install RELEASE oci://registry.example.com/charts/myapp --version 1.0.0 -n NS
helm push mychart-1.0.0.tgz oci://registry.example.com/charts
Chart development
| Command | Description |
|---|---|
helm create mychart | Scaffold new chart |
helm package ./mychart | Build chart tarball |
helm dependency update ./mychart | Fetch subchart deps |
helm test RELEASE -n NS | Run chart test hooks |
After install — kubectl helpers
# Pods from a Helm release (standard labels)
kubectl get pods -n NS -l app.kubernetes.io/instance=RELEASE
# Logs across release pods (krew stern)
stern -l app.kubernetes.io/instance=RELEASE -n NS
# Ownership tree (krew tree)
kubectl tree deploy -l app.kubernetes.io/instance=RELEASE -n NS
Example values.yaml
replicaCount: 3
image:
repository: myapp
tag: "2.1.0"
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
resources:
limits:
memory: 256Mi
Pro tips
- Prefer
helm upgrade --installin CI/CD — safe to re-run - Always
helm templateor--dry-run=serverbefore risky upgrades helm history+helm rollbackare your fastest undo- Failed release? Check pods with Kubernetes lab tools
- Pin chart
--version— do not rely on implicit latest from repo
Practice scenarios
Hands-on Helm scenarios on live Linux VMs: helm