Skip to content
beginner Phase 10 · Helm & Package Management

Helm Fundamentals

Learn Helm basics including charts, repositories, and package management.

45m
0 problems
Topic Progress 0%

Charts, Releases, Repositories

Charts, Releases, Repositories

Helm is Kubernetes' package manager. A chart is a directory of templated manifests plus default values.yaml; a release is one installed instance with a name; a repository is an HTTPS index of packaged charts (.tgz).

Helm 3 removed Tiller — there is no in-cluster agent. On helm install, the CLI renders templates, talks straight to the API server, and records the release (manifests + supplied values, base64) in a Secret named sh.helm.release.v1.<name>.v<revision> in the release namespace. Rollback = re-apply a previous revision's stored manifest from those Secrets.

Everyday Commands

Everyday Commands

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install my-api bitnami/nginx -n prod --create-namespace \
  -f values-prod.yaml --set replicaCount=3
helm upgrade --install my-api bitnami/nginx -n prod --atomic --wait
helm list -n prod
helm status my-api -n prod
helm get values my-api -n prod        # user-supplied values only
helm template my-api bitnami/nginx -f values-prod.yaml > rendered.yaml
helm uninstall my-api -n prod

Value precedence: --set beats -f files, which beat the chart's defaults. --atomic pairs --wait with automatic rollback when an upgrade fails — the default safety net for unattended installs.

Pitfalls and Interview Angles

Pitfalls and Interview Angles

Unpinned versions. helm install foo bitnami/nginx resolves to whatever is latest today. Pin --version (and image tags) so tomorrow's deploy matches today's test.

Secrets in values. Release Secrets live in etcd holding your values — base64 is not encryption. Use SOPS/Sealed Secrets or external secret managers for anything sensitive.

History growth. Every upgrade stores a new Secret revision; prune old ones only with eyes on rollback needs.

--set on CLI. Visible in shell history and process lists — pass sensitive values via files.

Interview angle: explain exactly where release state lives, how helm rollback works from that state, and what you pin to make a deploy reproducible.

Quiz

1. Where does Helm 3 store release history?

Question 1 options

2. Which value source wins in Helm's precedence order?

Question 2 options

3. What does --atomic do on helm upgrade?

Question 3 options

Flashcards

Question

Chart vs release

Answer

Chart = templated package; release = named installation instance with its own revision history.

Question

Release storage

Answer

Secrets named sh.helm.release.v1.<name>.v<n> in the release namespace hold manifests and values.

Question

helm template

Answer

Renders locally without contacting the cluster — ideal for diffs, review, and CI validation.

Question

--atomic

Answer

Wait for success and auto-rollback on failure; the standard flag for production upgrades.

Revision Notes

Key Takeaways

  • 1. Helm 3 is client-side: render, apply via API server, record revisions as Secrets
  • 2. Value precedence is --set > -f > values.yaml; pin chart versions for reproducibility
  • 3. helm template, helm diff-style review, and --atomic form the safe operating loop

Interview Tips

  • • Explain rollback mechanics from the release Secret, not vaguely "Helm keeps history"
  • • Name what you pin (chart version + image tag) and where secrets must never live

Cheat Sheet

Helm 3: chart → named release stored in sh.helm.release.v1 Secrets. Precedence --set > -f > defaults. upgrade --install --atomic --wait; helm template for review; pin --version; no plaintext secrets.

Continue Learning

Before You Start

  • No prerequisites listed.

Next Topics