776 words
4 minutes

Helm in Kubernetes - What It Is and Why You Need It

Visual DX: Helm in Kubernetes - What It Is and Why You Need It

Hey, tech queens!

Today we’re talking about Helm — my go-to tool for working with Kubernetes. If you’ve ever suffered through manually crafting YAML files for every single service, you’re about to breathe a huge sigh of relief.

I used to drown in those manifests and think, “Is it always going to be this painful?” Nope. Because Helm exists.


Helm in Plain English#

Imagine you buy a dresser from IKEA. Instead of guessing where each screw goes, you grab the instructions and have it assembled in 20 minutes - latte in hand.

Helm is that same kind of instruction manual - for Kubernetes.

Normally, deploying an app means creating a bunch of objects: Pods, Services, Ingresses, ConfigMaps — each with its own YAML file. It’s tedious.

Helm saves you:

  • Bundles everything into one structure: a chart
  • Spins up apps with a single command
  • Simplifies upgrades, customization, and rollbacks
  • Makes deployments predictable and repeatable

What’s a Helm Chart (and Why It’s Not Scary)#

The word “chart” might sound intimidating, but it’s really just a folder with organized files. No magic, just structure.

Think of it as your deployment organizer:

  • Chart.yaml — the chart’s business card: name, version, description
  • values.yaml — default settings (ports, replicas, DB names, etc.)
  • templates/ — YAML blueprints Helm renders into actual Kubernetes objects
  • _helpers.tpl — reusable functions to keep templates DRY
  • charts/ — dependencies like databases or message queues

Why It’s Handy#

A chart is like a capsule — it holds everything: instructions, configs, and dependencies.

Same chart, different environments:

  • Dev: myblog-dev, 1 replica, test DB
  • Prod: myblog, 3 replicas, production DB

Just tweak values.yaml — no need to touch anything else.

It’s like one dress styled with different accessories.


Why Helm Is My Must-Have#

Reasons I love Helm:

  1. Scalability: no more 30+ YAML files
  2. Flexibility: same chart, different setups
  3. Transparency: preview what’s actually going to be installed (helm template)
  4. Security: Helm 3 removed Tiller (and that’s a good thing)
  5. Control: rollbacks are built-in (helm rollback is magic)

Helm 2 vs Helm 3 — Short & Sweet#

Helm 2 relied on a separate component called Tiller, which had elevated cluster privileges — a big security headache.

Helm 3 fixed it:

  • No Tiller
  • Uses your existing kubectl credentials
  • Easier to install and great for CI/CD

What’s Next? Helm v4 Is in the Works#

Helm v4 is currently in planning (see HIP-0012) — with focus on a new API and architectural improvements.

No official release date yet — the devs meet weekly and are actively shaping the roadmap.


Installing Helm — Fast & Painless#

You’ll Need:#

  • A Kubernetes cluster (Minikube, GKE, etc.)
  • kubectl installed

Most Universal Way#

Terminal window
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

Always use the official script from GitHub. Trust but verify.

Alternatives#

macOS:

Terminal window
brew install helm

Homebrew now provides the latest release — v3.18.0

Linux (Snap):

Terminal window
sudo snap install helm --classic

Snap can sometimes lag behind — prefer the install script for CI.

Debian / Ubuntu (APT):

Terminal window
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | \
sudo tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | \
sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

Verify the Install#

Terminal window
helm version

Sample output:

Terminal window
version.BuildInfo{Version:"v3.18.0", GitCommit:"...", GoVersion:"go1.22.2", ...}

As of May 20, 2025, this is the latest stable release.

v3.18.1 is expected on June 11, and v3.19.0 is coming in September.


First Helm Run — Let’s Go!#

Install something fun — like Nginx:

Terminal window
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install nginx bitnami/nginx

Customize settings:

Terminal window
helm install my-app ./my-chart \
--set image.tag=2.0.1 --set replicaCount=3

Or use a YAML config:

Terminal window
helm install my-app ./my-chart -f values-prod.yaml

Something went wrong?

Terminal window
helm rollback my-app 1

Uninstall it:

Terminal window
helm uninstall my-app

Security & Best Practices#

Always Inspect a Chart Before Installing#

Think of it like trying on a dress before the party - just because it looks cute doesn’t mean it fits.

  • helm lint — checks the structure and versioning of the chart
  • helm template — renders the final YAML (preview before install)
  • helm test — runs built-in tests (if defined)
  • helm diff — compares installed vs new version

Install the diff plugin:

Terminal window
helm plugin install https://github.com/databus23/helm-diff

Sign and Verify Your Charts#

  • Use helm package --sign to digitally sign your charts
  • Run helm verify to confirm integrity
  • For advanced signing, try Cosign + the helm-sigstore plugin

Store Charts Like Images (OCI FTW)#

Helm now supports pushing/pulling from OCI registries:

Terminal window
helm push mychart.tgz oci://registry.example.com/charts
helm pull oci://registry.example.com/charts/mychart --version 1.2.3

If you’re using older tools like ChartMuseum, clarify that separately.

Mind Your Versions#

  • Watch for version skew between Helm and Kubernetes
  • Don’t upgrade Helm right before a production deploy — stability first!

Takeaway#

Helm is my DevOps bestie. It brings:

  • Organization
  • Repeatable configuration
  • And a lot less Kubernetes chaos

If you’re working with Kubernetes, get familiar with Helm.

It 100% deserves a spot in your toolkit.


VERDICT & AESTHETICS#

  • Visual Doctrine: Traditional DevRel creates noise. I engineer clarity, proving that deep infrastructure and an unapologetically pink aesthetic belong in the same boardroom. Deploy like a queen. Study the architecture on YouTube.
  • The Syndicate: Stop fighting your deployments alone. Gain access to zero-friction protocols, enterprise subsidies, and the DevOps Army. Enter the Discord Ecosystem.

Tatiana Mikhaleva

Principal Developer Advocate  ·  Docker Captain  ·  IBM Champion  ·  AWS Community Builder

Helm in Kubernetes - What It Is and Why You Need It
https://devops.pink/helm-in-kubernetes-what-it-is-and-why-you-need-it/
Architect
Tatiana Mikhaleva
Issued
2025-05-20
Protocol
CC BY-NC-SA 4.0