Helm is the package manager for Kubernetes, enabling you to define, install, and upgrade complex applications through reusable, versioned packages called charts. Helm streamlines deployment workflows by templating Kubernetes manifests, managing release history with rollback capabilities, and supporting dependency resolution across multi-environment configurations. Helm 4 (released November 2025) marks the biggest upgrade in six years, replacing the three-way merge with Server-Side Apply (SSA), introducing a WebAssembly-based plugin system, and making OCI registries the primary chart distribution method. Understanding Helm's architecture — the Tiller-less design, Go+Sprig template engine, kstatus-based wait logic, and OCI supply chain tooling — transforms Kubernetes deployments from manual YAML management into declarative, reproducible operations.
What This Cheat Sheet Covers
This topic spans 22 focused tables and 243 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Core Helm Commands
| Command | Example | Description |
|---|---|---|
helm install myapp ./chart -f values.yaml | • Installs a chart with a release name into the cluster • supports local paths, chart names, or OCI references. | |
helm upgrade myapp ./chart --rollback-on-failure --wait | • Updates an existing release with new chart version or values • --rollback-on-failure auto-rolls back on failure. | |
helm uninstall myapp | • Removes a release and all associated resources • use --keep-history to preserve release records. | |
helm rollback myapp 3 | • Reverts a release to a previous revision number • Helm tracks full release history for recovery. | |
helm list --all-namespaces | • Shows all deployed releases with status, chart version, and namespace • filter with -n namespace. | |
helm status myapp | Displays current state of a release including resources, NOTES.txt output, and last deployment time. | |
helm history myapp | Shows revision history with status, updated time, and description for a release. | |
helm get values myapp --all | • Retrieves computed values for a deployed release • --all merges defaults with user values. | |
helm get manifest myapp | Outputs the rendered Kubernetes manifests for an installed release as YAML. |