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.