Thuta Learning
AdvancedDevOpsintermediate

Helm Basics

Relax. We'll talk through this in plain words — no textbook voice.

What you'll walk away with

  • Understand Helm Basics without feeling intimidated by them
  • Get comfortable running the kubectl commands/YAML yourself
  • Be able to apply this concept immediately in a real project

Let's think about it this way for a second

Deploying a single application can need a whole pile of YAML files — Deployment, Service, ConfigMap, Secret, Ingress — and copy-pasting values for each environment (dev/staging/prod) is error-prone. A Helm Chart turns these YAML files into templates, so you only need to change the environment-specific values (image tag, replica count, resource limits) in a file called `values.yaml` — a single `helm install` command deploys the whole app. You can also install things like databases and monitoring tools in one shot using pre-built charts from a public Helm Chart repository (Artifact Hub).

Let's connect this to a real scenario

Instead of writing manual YAML for a PostgreSQL database, running `helm install my-db bitnami/postgresql` instantly spins up a fully production-ready database configuration (backup, replication included). For your own app, you can scaffold a Chart template with `helm create my-app` and add your Deployment/Service YAML into the template.

Let's look at it together

bash
# Install Helm (see helm.sh for your OS), then:

# Add a chart repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

# Install a pre-built chart (e.g. PostgreSQL)
helm install my-db bitnami/postgresql

# See what's installed
helm list

# Scaffold your own chart
helm create my-app
You should see
$ helm list
NAME     NAMESPACE   REVISION   STATUS     CHART
my-db    default     1          deployed   postgresql-13.2.0

5-Minute Try-It

Install Helm, then run `helm create my-app` — take a look at the folder structure it generates (templates/, values.yaml).

A Quick Word of Caution

Before installing a public chart (from Artifact Hub), preview what resources it'll generate with `--dry-run` or `helm template` first — don't blindly install a chart you don't trust onto a production cluster.

Easy traps

  • Running `helm install` and assuming it's 'done' without verifying with `kubectl get pods` yourself
  • Running with the default values in values.yaml (passwords, resource limits) unchanged, assuming they don't need adjusting for production

Now Try It Yourself

Install Helm, then run `helm create my-app` — take a look at the folder structure it generates (templates/, values.yaml).

You'll know it worked when: $ helm list NAME NAMESPACE REVISION STATUS CHART my-db default 1 deployed postgresql-13.2.0

Helm Basics | Thuta Learning