Lesson 1 · Helm fundamentals
What Helm is & why
The package manager for Kubernetes — and the "copy-paste YAML 106 times" problem it kills.
Your win: explain what Helm does in one sentence, the chart / release / values triad, and why this repo reaches for it instead of hand-writing Kubernetes manifests.
The problem Helm solves
Course 2 taught the Kubernetes objects — Deployment, Service, ConfigMap, KEDA ScaledObject, PDB, ServiceAccount. A single backend service needs all of those, and this repo runs ~25 services across a matrix of environments × organisations (Course 1's env×org model). Hand-writing that YAML would mean thousands of near-identical manifests, drifting out of sync the moment anything changes. Helm is the fix: the package manager for Kubernetes.1 You write the objects once as templates, and stamp them out with per-service, per-cell values.
The three words you must own
| Term | What it is |
|---|---|
| Chart | the package — a directory of templates + default values + metadata (Chart.yaml). This is the reusable artifact. |
| Values | the config fed into a chart's templates (.Values) — what makes one install differ from another. |
| Release | one installed instance of a chart in a cluster, with a name and a revision history. Install the same chart twice → two releases. |
Why it matters here specifically
kubectl apply on hand-written
YAML. Remember Course 1's skaffold render? That's literally helm
template under the hood, and skaffold run is helm upgrade
--install. So you've been driving Helm since Course 1 without naming it. Helm is
pinned to v3.14.4 (deployments/versions/helm).
Helm docs — Charts (intro) + Using Helm
What a chart is, and the install/upgrade/release lifecycle. The canonical starting point.
Check yourself (from memory)
Q1. Helm is best described as…
Q2. A release is…
Q3. In this repo, skaffold render corresponds to…
Chart.yaml); VALUES are the config fed to templates
(.Values); a RELEASE is one installed instance of a chart (named, with revision
history → rollback). Helm 3 is client-only (no Tiller); release state lives in in-cluster
Secrets. REPO: deployments/helm/ = ~106 charts (one per service); every Course-2
object is rendered from Helm. skaffold render = helm template;
skaffold run = helm upgrade --install. Pinned v3.14.4.1. Helm — Charts; Using Helm.