Helm
What is it?
Helm is a package manager for Kubernetes that bundles an application's many configuration files into a single installable, configurable unit called a chart.
Explain like I'm 5
Why was it created?
Deploying an app to Kubernetes often means many YAML files. Helm was created to package, version, and configure them together.
Where is it used?
- Installing apps on Kubernetes
- Sharing reusable deployments (charts)
- Managing environment-specific config
- Upgrading and rolling back releases
Why should developers care?
Helm is the most common way to install and manage complex apps on Kubernetes, so platform engineers use it regularly.
How does it work?
A Helm chart is a templated bundle of Kubernetes manifests plus configurable values. Installing a chart fills in the templates with your values and applies the result; Helm tracks each install as a release you can upgrade or roll back.
Real-world example
Instead of writing dozens of manifests for a database, you 'helm install' a community chart and set a few values like size and password.
Common use cases
- Packaging Kubernetes apps
- Reusing community charts
- Per-environment configuration
- Versioned upgrades and rollbacks
Advantages
- Bundles many manifests into one unit
- Configurable via values
- Versioned releases with rollback
- Large ecosystem of charts
Disadvantages
- Template complexity
- Another layer to learn
- Debugging templates can be hard
- Overkill for tiny deployments
When should you use it?
When deploying complex or reusable apps to Kubernetes with configurable settings.
When should you avoid it?
For a single simple manifest, where plain Kubernetes files are easier.
Alternatives
Related terms
Interview questions
Beginner
- What is Helm?
- What is a chart?
Intermediate
- What are values in Helm?
- What is a Helm release?
Senior
- How does Helm handle upgrades and rollbacks?
- When would you use Kustomize instead of Helm?
Common misconceptions
- "Helm replaces Kubernetes" — it packages and manages Kubernetes resources; Kubernetes still runs them.
- "A chart is the running app" — a chart is the template; an install creates a release.
Fun facts
- Helm's packages are called charts, fitting Kubernetes' nautical theme.
- It tracks each installation as a named release you can roll back.
Timeline
- 2016 — Helm released as a Kubernetes package manager
Learning resources
Quick summary
Helm is Kubernetes' package manager, bundling manifests into configurable, versioned charts you can install, upgrade, and roll back with one command.
Cheat sheet
- Package manager for Kubernetes
- Charts = templated manifests + values
- Versioned releases, rollback
- Big chart ecosystem