Helm
Helm is the package manager for Kubernetes. It packages a set of Kubernetes manifests into a chart, parameterised by values, that can be installed, upgraded, rolled back, and shared via repositories. Helm charts are the standard distribution format for installable Kubernetes applications.
Core concepts
- Chart. A directory of YAML templates, a
values.yaml, and metadata (Chart.yaml) describing an installable Kubernetes application. - Values. User-supplied parameters that fill in template variables, allowing the same chart to deploy differently per environment.
- Release. An installed instance of a chart in a cluster, with a name, version, and history.
- Repository. A web-hosted index of charts (Artifact Hub, Bitnami, ingress-nginx, the Argo repo, OCI registries).
Typical commands
helm install <name> <chart>helm upgrade <name> <chart>helm rollback <name> <revision>helm template ... | kubectl apply -f -(render locally, apply with kubectl)helm packageandhelm pushfor publishing charts to a registry
Helm vs Kustomize vs raw manifests
- Helm. Templating with values; release tracking; rollbacks; package manager workflow. Strongest fit for distributing third-party applications.
- Kustomize. Overlay-based composition; no templates, pure YAML patches. Strongest fit for internal services under direct team control.
- Raw manifests. Simplest; ungoverned; hard to scale across environments.
🔗