Skip to main content
In this lesson we’ll cover lifecycle management with Helm: what a release is, how Helm tracks revisions, how to perform upgrades and rollbacks, and how to handle persistent data safely during those operations. We’ll use concrete examples (Bitnami charts) and show the exact commands and outputs so you can reproduce the workflow.
Before you begin, make sure you have Helm and kubectl installed and your KUBECONFIG points to a working cluster. See the Helm installation guide and Kubernetes setup docs for more details.
A dark presentation slide with the text "Lifecycle Management" on the left. On the right is the Helm logo — a stylized ship wheel icon with the word "HELM."
What does “lifecycle management” mean in Helm terms?
  • A Helm release represents an installed chart and the Kubernetes objects it created.
  • Because Helm records which objects belong to a release, it can upgrade, downgrade (rollback), and uninstall a release without affecting other releases — even if they come from the same chart.
  • Helm tracks revisions for each release so you can inspect history and restore previous manifest states.
For example, you can install the same chart twice and manage each installation independently:
Next, we’ll create a release and walk through lifecycle operations. Installing a specific chart version You can install a specific chart version with the --version flag. In this example we install an older Bitnami NGINX chart to see an upgrade in action:
After the release is created, find the pod and inspect its container image to identify the NGINX version:
This release is running NGINX 1.19.2 (an older app version). Upgrading the release will move it to a newer chart / app version. Upgrading a release To upgrade a release, tell Helm which release to upgrade and which chart (or chart version) to use. Helm computes the delta between current and desired manifests and applies the necessary changes.
Helm returns details including the new revision:
During the upgrade the old pod is terminated and a new pod is created. Confirm the new pod and the updated image:
Helm tracks this change as a new revision (revision 2 in this example), and you can list or inspect release history. Useful Helm commands Examples:
Rolling back a release If the upgrade introduced an undesired change, Helm can rollback to a previous revision. Rollback re-applies the manifest state of a prior revision and Helm records the rollback as a new revision:
Helm confirms success:
The history will show the rollback action as a new revision:
Important: rollbacks restore Kubernetes resource manifests (Deployments, StatefulSets, Services, etc.), not the runtime data stored on persistent volumes.
Helm rollbacks operate on resource manifests. For persistent data (databases, PVs), you must use backups or chart hooks that perform data snapshots and restores. See chart-specific documentation for safe upgrade/rollback procedures.
Handling chart-specific upgrade requirements and credentials Some charts enforce supplying existing credentials or parameters during upgrades to prevent accidental data loss or misconfiguration. For example, Bitnami’s WordPress chart requires current passwords during an upgrade; otherwise Helm will fail and instruct how to retrieve and pass the existing passwords:
This requirement exists because upgrades that touch databases or other external systems may need administrative credentials to perform schema migrations or data transformations. To handle these situations safely:
  • Inspect chart documentation and default values (helm show values <chart>) before upgrading.
  • Use --set or a values file to supply required parameters.
  • For databases or PV-backed workloads, take consistent backups before upgrading.
Use hooks or external backup tooling For workloads that store critical data, use pre-upgrade hooks for snapshots or external backups. Hooks can run jobs to snapshot databases or copy data to external storage and can also be used to validate or prepare the system before applying new manifests.
A dark diagram showing a Kubernetes pod labeled "wordpress-release" with a "Revision: 1" badge. A dotted arrow points from the pod to a red stacked-database icon, indicating external storage.
Summary — best practices for Helm lifecycle management
  • Treat Helm releases as the source of truth for Kubernetes resource declarations.
  • Use helm history and helm rollback to inspect and revert manifest-level changes.
  • For data-bearing applications:
    • Read chart docs for upgrade-time requirements (passwords, migrations).
    • Take consistent backups (snapshots, database dumps) before upgrades.
    • Consider chart hooks or external operators for safe migrations and restores.
  • Automate testing of upgrades in staging before applying them in production.
References and further reading That covers the essentials of lifecycle management with Helm: installs create releases, Helm tracks revisions, upgrades and rollbacks operate on manifests, and persistent data requires explicit backup/restore planning. Happy Helming!

Watch Video

Practice Lab