Containers & orchestrationAdvanced5h

Helm.

Packaging and templating Kubernetes manifests.

What is Helm?

Helm is the package manager for Kubernetes. A chart bundles templated manifests with configurable values, so you can install a whole application — and tune it per environment — without copy-pasting and hand-editing YAML.

Why it matters

Real deployments need the same manifests with different values for dev, staging, and production. Helm replaces brittle copies with one templated chart and a values file per environment. It is also how most third-party software ships for Kubernetes, so you will install charts constantly.

What to learn

  • Charts, templates, and values.yaml
  • Templating syntax and built-in functions
  • Overriding values per environment
  • Releases, upgrades, and rollbacks
  • Chart dependencies
  • Linting and templating before applying
  • Finding and trusting community charts

Common pitfall

Over-templating until the chart is unreadable — every value parameterized "just in case," nested conditionals everywhere. A chart so abstract that nobody can follow it is worse than duplication. Template the values that actually change between environments, and keep the rest concrete.

Resources

Primary (free):

Practice

Turn the Deployment and Service you wrote into a small Helm chart with a values.yaml controlling the image tag and replica count. Install it, override the replica count for a "staging" values file, and upgrade. Roll back to the previous release. Done when one chart serves two environments via values.

Outcomes

  • Explain charts, templates, and values.
  • Package Kubernetes manifests into a reusable chart.
  • Override values per environment.
  • Upgrade and roll back a release.
Back to DevOps roadmap