Learn Helm
A fast and practical walkthrough of Helm—the package manager for Kubernetes.*
Introduction
Helm is a tool that helps you manage Kubernetes applications through Helm Charts. Charts are packages of pre-configured Kubernetes resources.
1. Install Helm
brew install helm # macOS installation using Homebrew
sudo snap install helm --classic # Linux installation via Snap
choco install kubernetes-helm # Windows installation via Chocolatey
These commands install Helm on your local machine depending on your operating system.
2. Helm Basics
helm version # Show the installed Helm version
helm help # Display all Helm commands and options
This helps confirm that Helm is installed correctly and shows the command reference.
- Helm Chart: A collection of Kubernetes YAML templates packaged together.
- Helm Repository: A collection of charts available for sharing and reuse (similar to Docker Hub).
3. Add a Helm Repository
helm repo add bitnami https://charts.bitnami.com/bitnami # Add Bitnami as a chart source
helm repo update # Update the local cache of chart info
This adds a new chart source (Bitnami) and refreshes the list of available charts.
4. Search and Install a Chart
helm search repo nginx # Search for charts related to 'nginx'
helm install my-nginx bitnami/nginx # Install the Bitnami Nginx chart and name the release 'my-nginx'
This allows you to find a chart in the repo and deploy it into your Kubernetes cluster.
5. List, Upgrade, and Uninstall Releases
helm list # Show all installed Helm releases
helm upgrade my-nginx bitnami/nginx # Upgrade 'my-nginx' release with the latest chart version
helm uninstall my-nginx # Remove the 'my-nginx' release and associated resources
These commands let you manage deployed charts like installed applications.
6. Create a New Chart
helm create mychart # Generate a scaffold for a new chart named 'mychart'
This creates a directory structure with chart metadata, default values, and templates.
mychart/
├── Chart.yaml # Metadata like name, version, description
├── values.yaml # Default user-configurable values
├── templates/ # Template files that generate Kubernetes manifests
7. Install from Local Chart
helm install myapp ./mychart # Deploy a local chart as 'myapp'
Use this to test or deploy charts you’re developing locally.
8. Customize with values.yaml
Edit values.yaml
to override chart defaults:
replicaCount: 3
image:
repository: nginx
tag: stable
This controls how your chart behaves—like how many replicas and which image version.
Apply changes using:
helm upgrade myapp ./mychart -f values.yaml # Apply the modified values to update the deployment
9. Dry Run and Debug
helm install myapp ./mychart --dry-run --debug # Simulate install and show rendered templates
Use this to preview and debug what Kubernetes resources will be created.
10. Template Rendering
helm template myapp ./mychart # Render templates locally without installing
This generates raw Kubernetes YAML files, useful for inspection or GitOps workflows.
Conclusion
Helm simplifies deploying and managing complex Kubernetes applications by templating configurations and enabling reuse. With a few commands, you can manage full application stacks consistently and efficiently.
Start templating your Kubernetes apps today with Helm! 🚀