Avatar

Vinod Kanneganti's Blog

Learn Helm

· 481 words · 3 minutes ·

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.


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! 🚀