If you are running Kubernetes in production, youβll eventually hear one word everywhere:
HELM
Helm is the package manager for Kubernetes β like apt for Ubuntu or yum for Amazon Linux.
But many beginners struggle to understand what Helm actually is and why teams use it.
This guide explains Helm in simple terms and gives you your first hands-on task using a real GKE cluster.
π§ What Is Helm?
Helm is a package manager for Kubernetes.
Think of Kubernetes as a very strict system where everything must be described using YAML files β deployments, services, ingresses, configmaps, secrets, etc.
A simple app may need:
- deployment.yaml
- service.yaml
- configmap.yaml
- ingress.yaml
- HPA.yaml
Managing all these files manually becomes painful.
This is where Helm helps.
β Helm bundles multiple YAMLs into a reusable package
β Helm lets you install, upgrade, rollback apps easily
β Helm allows parameterized deployments using values.yaml
In short:
Helm = Kubernetes + Templates + Versioning + Reusability
π― Why Do We Use Helm? (Easy Explanation)
Letβs say you want to deploy Nginx on 3 different environments:
- dev
- staging
- production
Without Helm β you maintain 3 sets of YAML files.
With Helm β you just maintain one chart and 3 values files:
- values-dev.yaml
- values-staging.yaml
- values-prod.yaml
Helm injects values into templates and generates the final YAML for Kubernetes.
π Benefits (Simple & Clear)
β 1. Reuse the same configuration everywhere
Stop copy-pasting YAML.
β 2. Template engine
Write dynamic YAML using variables, conditions, loops.
β 3. Easy installs
Install complex apps with one command:
helm install my-nginx bitnami/nginx
β 4. Built-in version control (releases)
You can upgrade or rollback easily:
helm upgrade my-nginx bitnami/nginx
helm rollback my-nginx 1
β 5. Share charts with the team
Package your application as a Helm chart and publish it to any OCI registry.
βοΈ Architecture of a Helm Chart (Simple View)
A typical Helm chart looks like this:
mychart/
Chart.yaml β metadata
values.yaml β user config
templates/ β Kubernetes YAML templates
templates/*.yaml β deployments, services, ingress, etc.
Helm takes templates + values and renders Kubernetes manifests.
π Hands-On Task #1 (Beginner Level)
To start learning Helm, perform this simple task.
You must have a running GKE cluster.
Step 1: Connect to your GKE cluster
gcloud container clusters get-credentials <CLUSTER_NAME> --zone <ZONE>
Verify connection:
kubectl get nodes
Step 2: Install Helm
Linux / Mac:
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Check:
helm version
Step 3: Add the Bitnami Helm repo
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Step 4: Install your first chart (Nginx)
helm install my-nginx bitnami/nginx
Check what was created:
kubectl get all
Step 5: Inspect the release
helm list
helm status my-nginx
Step 6: Delete the release
helm uninstall my-nginx
π Thanks for reading! If this post added value, a like β€οΈ, follow, or share would encourage me to keep creating more content.
β Latchu | Senior DevOps & Cloud Engineer
βοΈ AWS | GCP | βΈοΈ Kubernetes | π Security | β‘ Automation
π Sharing hands-on guides, best practices & real-world cloud solutions




Top comments (0)