CKAD — Understanding Helm
Package Management in Kubernetes
Deploying applications in Kubernetes often requires multiple YAML files — Deployments, Services, ConfigMaps, Secrets, and more. Managing these manually gets complex fast. Helm solves this by packaging everything into a single deployable unit.
Think of Helm like apt for Debian or brew for macOS — but for Kubernetes. Helm packages are called charts.
Key Concepts
| Concept | Description |
|---|---|
| Chart | A package of pre-configured Kubernetes resources |
| Release | A running instance of a chart (each installation is a release) |
| Repository | A collection of charts (like a package registry) |
| Values | Configuration parameters that customize a chart |
| Template | YAML files with Go template syntax (Helm fills in the values) |
How It Fits Together
When you run helm install my-app bitnami/nginx, Helm:
- Downloads the chart from the repository
- Merges your custom values with the chart’s defaults
- Renders the templates into Kubernetes YAML manifests
- Applies the manifests to create a release
Each installation creates a unique release, so you can install the same chart multiple times with different configurations.
Installing Helm
# macOS
brew install helm
# Linux
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Verify
helm version
Exam tip: Helm is pre-installed in the CKAD exam environment. You won’t need to install it, but you need to know how to use it.
Next: Working with Helm Charts