892 words
4 minutes

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

Cover image for 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.


Tools I Personally Trust#

If you want to make your digital life a little calmer - here are two tools I use every day:

🛸 Proton VPN - A trusted VPN that secures your Wi-Fi, hides your IP, and blocks trackers. Even in that no-password café Wi-Fi, you’re safe.

🔑 Proton Pass - A password manager with on-device encryption. Passwords, logins, 2FA - always with you, and only for you.

These are partner links - you won’t pay a cent more, but you’ll be supporting DevOps.Pink. Thank you - it really means a lot 💖


Social Channels#

🎬 YouTube
🐦 X (Twitter)
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🦋 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
✈️ Telegram
🐈 GitHub


Community of IT Experts#

👾 Discord


Refill My Coffee Supplies#

💖 PayPal
🏆 Patreon
🥤 BuyMeaCoffee
🍪 Ko-fi
Telegram Boost


Is this content AI-generated?

Absolutely not! Every article is written by me, driven by a genuine passion for Docker and backed by decades of experience in IT. I do use AI tools to polish grammar and enhance clarity, but the ideas, strategies, and technical insights are entirely my own. While this might occasionally trigger AI detection tools, rest assured—the knowledge and experience behind the content are 100% real and personal.

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