Stop 09 · Containers & OrchestrationTopics · 7/9

Helm Basics

Part of the Cloud Computing Roadmap

In short

Deploying one app to Kubernetes can take five YAML files. Deploying it to dev, staging and prod with small differences means fifteen nearly identical files. Helm turns them into one reusable package.

Kubernetes' package manager — Helm charts bundle related manifests into a reusable, templated, versioned package, avoiding copy-pasted YAML across environments.

The blob character reads a recipe card while pouring rice into a giant pot.

Think of it like this

The recipe with blanks

Amma's biryani recipe says "rice: ___ cups, chillies: ___". For a family dinner you fill in 2 and 3. For a wedding, 40 and 60. Same steps, different numbers. A Helm chart is that recipe; values fill the blanks.

Watch it happen

From chart to running release

Chart
Values
Render
Cluster
Release

1/5A chart is a folder of templated YAML: Deployment, Service, Ingress, with placeholders like {{ .Values.replicaCount }}.

The big ideas

What you need to know

Chart

A package: Chart.yaml for metadata, templates/ for YAML with placeholders, values.yaml for defaults.

Values

Override defaults per environment with -f file.yaml or --set key=value.

Release

One installed copy of a chart with a name. You can install the same chart many times.

Rollback

helm rollback goes back to an earlier revision when an upgrade goes wrong.

See it in code

Walk through the code

bash
1helm create notes              # scaffold a starter chart2helm template notes ./notes    # preview the rendered YAML3 4helm install notes ./notes --set replicaCount=25helm upgrade notes ./notes -f values-prod.yaml6 7helm history notes             # list revisions8helm rollback notes 1          # go back to revision 19helm uninstall notes

1/3Create a chart and see exactly what it will produce, without touching the cluster.

helm template is your friend: always look at the real YAML before installing anything.

Save yourself the pain

Common mistakes

Oops

Installing a random public chart without reading what it creates.

Do this instead

Run helm template or helm show values first. Charts can create roles, volumes and public services.

Oops

Putting passwords in values.yaml and committing it.

Do this instead

Keep secrets out of values files. Use a secrets store with a tool like External Secrets, or sealed secrets.

Your mission

Your first chart

~35 min

Quick check

You need the same app in dev with 1 replica and prod with 4. What's the Helm way?

Go deeper

  1. 1Install an application into your cluster using a public Helm chart.
  2. 2Explore a chart's templates directory to see how values get injected into manifests.
  3. 3Learn why Helm makes deploying the same app across dev/staging/prod with different configs much easier.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge