Helm
The package manager for Kubernetes
Description
Helm is the package manager for Kubernetes. It helps define, install, and upgrade complex Kubernetes applications using charts, which are packages of pre-configured Kubernetes resources. Helm streamlines installing and managing Kubernetes applications with versioning, rollbacks, and templating.
Install
brew install helmsudo snap install helm --classicAI Summary
Kubernetes package manager that uses charts to define, install, and manage complex application deployments with templating, versioning, and rollback support.
Capabilities
- + Install, upgrade, and rollback Kubernetes applications via charts
- + Template Kubernetes manifests with dynamic values
- + Manage chart repositories and dependencies
- + Package and share reusable application definitions
- + Track release history with rollback support
Use When
- → Deploying complex Kubernetes applications with many resources
- → Need templated Kubernetes manifests with environment-specific values
- → Managing application versions and rollbacks on Kubernetes
- → Sharing reusable Kubernetes application packages across teams
Avoid When
- x Deploying simple single-manifest Kubernetes resources (use kubectl apply)
- x Not using Kubernetes at all
- x Prefer Kustomize for overlay-based manifest management
Usage Patterns
Add a chart repository and install a chart
helm repo add bitnami https://charts.bitnami.com/bitnami && helm install my-release bitnami/nginx Adds the Bitnami repo and installs nginx from it
Upgrade a release with custom values
helm upgrade my-release bitnami/nginx -f values.yaml Upgrades the release using values from a custom file
Render templates locally for inspection
helm template my-release ./my-chart -f values.yaml Outputs rendered Kubernetes manifests without deploying
Roll back to a previous release
helm rollback my-release 2 Reverts the release to revision 2
Input / Output
Typical Pipelines
helm template my-release ./chart | kubectl apply -f - to render and apply in one step helm list --all-namespaces | grep failed to find broken releases helm get values my-release -o yaml > values-backup.yaml to export current values