Estimated Reading Time: 6 min
Helm is the package manager for Kubernetes, making it easy to define, install, and manage applications. In this guide, you’ll learn how to create your own Helm chart from scratch and deploy it like a pro.
๐ฆ What is a Helm Chart?
A Helm chart is a collection of files that describe a Kubernetes application. Think of it as a reusable blueprint for deploying apps.
- Templates → Kubernetes manifests
- values.yaml → configuration
- Chart.yaml → metadata
⚙️ 1. Install Helm
brew install helm
Verify installation:
helm version
๐งฑ 2. Create a New Helm Chart
helm create my-app
This generates a structure like:
my-app/
Chart.yaml
values.yaml
templates/
๐ 3. Understand Chart.yaml
apiVersion: v2
name: my-app
version: 0.1.0
description: A Helm chart for Kubernetes
This file defines your chart metadata.
๐ง 4. Customize values.yaml
replicaCount: 2
image:
repository: nginx
tag: latest
This is where you configure your application dynamically.
๐ 5. Update Templates
Example deployment template:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
spec:
replicas: {{ .Values.replicaCount }}
Helm uses Go templating to inject values dynamically.
๐ 6. Install the Chart
helm install my-release ./my-app
Check deployment:
kubectl get pods
๐ 7. Upgrade Your Chart
helm upgrade my-release ./my-app
Helm makes updates easy without redeploying everything manually.
๐งน 8. Uninstall
helm uninstall my-release
๐ง Best Practices
- Keep charts reusable and configurable
- Use separate values files per environment
- Version your charts properly
- Avoid hardcoding values
๐ฅ Pro Tips
- Use helm lint to validate charts
- Use helm template to debug output
- Integrate Helm into CI/CD pipelines
๐ Final Thoughts
Helm simplifies Kubernetes deployments and enables scalable, reusable configurations. Once you master Helm, managing applications in Kubernetes becomes significantly easier.
๐ฅ CloudChef Tip: Treat Helm charts like code—version them, test them, and automate them.