Helm is the package manager for Kubernetes. It bundles the manifests for an application into a chart, a versioned package with templates and default values, and installs it into a cluster as a named release that can be upgraded or rolled back.
Why it matters
A real application needs many Kubernetes objects: deployments, services, config maps, ingress rules. Writing each by hand for every environment is repetitive and error-prone. Helm templates them, so one chart can serve staging and production with different values. Releases keep a revision history, which makes helm rollback possible after a bad upgrade.
Example
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-db bitnami/postgresql -f values.yaml
helm upgrade my-db bitnami/postgresql --set auth.database=app
helm rollback my-db 1
The values.yaml file overrides the chart's defaults, such as replica counts or storage size.
Common mistakes
- Installing a public chart without reading its values, security settings and default passwords.
- Leaving secrets in values files committed to a repository.
- Using
latestimage tags in values, which makes upgrades unpredictable. - Editing live objects with kubectl so Helm's recorded state no longer matches the cluster.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.