// The Kubernetes package manager.
HELM IS THE MISSING PACKAGE MANAGER FOR KUBERNETES.
Deploying complex applications on Kubernetes requires dozens of YAML files—ConfigMaps, Secrets, Deployments, Services, and more. Helm packages all of this into a single chart that can be installed with one command.
WHY HELM?
Helm is to Kubernetes what apt is to Debian. It templatizes Kubernetes manifests, enables versioned releases, and makes upgrades and rollbacks trivial. Share charts via repositories like Helm Hub.
BECOME A K8S PACKAGE PRO.
Learn Helm charts, templates, values, releases, and rollbacks. Deploy complex applications like Prometheus, Grafana, and Jenkins with confidence.
10 lessons. Complete Helm control.
What is Helm and why you need it
BeginnerSet up Helm and configure repositories
BeginnerUnderstand Helm charts and releases
BeginnerInstall, upgrade, and uninstall charts
BeginnerCustomize charts with values
IntermediateManage pre/post-install hooks
IntermediateManage chart dependencies
IntermediateValidate and test your charts
IntermediateBuild your own Helm charts
AdvancedHelmfile, libraries, and advanced patterns
AdvancedHelm was created by Deis (now Microsoft) and donated to the CNCF. It's now the de facto standard for packaging Kubernetes applications.
Without Helm, deploying something like the ELK stack requires managing 20+ YAML files with complex relationships. With Helm, one command handles everything: helm install elastic/elasticsearch.
Helm charts support templating, versioning, rollbacks, and dependencies. The Helm Hub hosts thousands of community charts for everything from databases to monitoring.
Your Kubernetes deployments deserve package management.
Helm is the package manager for Kubernetes. It bundles Kubernetes manifests (YAML files) into a deployable unit called a chart. A single command can deploy complex applications.
1. Helm is the _____ manager for Kubernetes.
Hint: Package type
2. A deployed chart instance is called a _____.
Hint: Versioned deployment
3. Charts use Go _____ for templating.
Hint: Template files
4. Charts are stored in a _____ repository.
Hint: What Helm uses
5. Values _____ chart deployment.
Hint: Configure
1. Package
2. Release
3. Templates
4. Chart
5. Customize
Helm charts are stored in repositories. Add popular repositories to access stable charts for common applications.
1. Add repo with helm repo _____.
Hint: Add command
2. Update local cache with helm repo _____.
Hint: Refresh
3. Search Hub with helm _____ hub.
Hint: Find
1. Add
2. Update
3. Search
A Helm chart is a directory with a specific structure containing templates, values, and metadata.
1. Chart metadata is in _____.
Hint: YAML file
2. Default values are in _____.
Hint: Values file
3. K8s manifests go in the _____ directory.
Hint: Template folder
1. Chart.yaml
2. Values.yaml
3. Templates
1. Install chart with helm _____.
Hint: Deploy
2. List releases with helm _____.
Hint: Show all
3. Go back with helm _____.
Hint: Undo
4. Remove release with helm _____.
Hint: Delete
1. Install
2. List
3. Rollback
4. Uninstall
Charts have default values in values.yaml. Override them with --set flags or custom values files.
1. Override values with --_____ flag.
Hint: Set command
2. Use custom file with -f _____.
Hint: Your file
3. Access release name with ._____.Name.
Hint: Deployment concept
4. Access values with ._____.fieldName.
Hint: Values.yaml
1. Set
2. Filename
3. Release
4. Values
Hooks run arbitrary jobs at specific points in a release lifecycle—before install, after install, before upgrade, etc.
1. Run job after install with _____ install hook.
Hint: After
2. Hook weight uses annotation helm.sh/hook _____.
Hint: Order
3. Delete hook policy uses helm.sh/hook-delete _____.
Hint: What to do
1. Post
2. Weight
3. Policy
Charts can depend on other charts. The dependencies section in Chart.yaml declares them.
1. Dependencies declared in _____.
Hint: Chart file
2. Download dependencies with helm dependency _____.
Hint: Get
3. Dependencies stored in _____ directory.
Hint: Folder
1. Chart.yaml
2. Update
3. Charts
Before deploying, validate your chart for syntax errors and best practices.
1. Validate chart with helm _____.
Hint: Check
2. Render templates locally with helm _____.
Hint: Show
3. Test without cluster using --dry-_____.
Hint: Test
1. Lint
2. Template
3. Run
Helm can scaffold a new chart with the basic structure.
1. Scaffold chart with helm _____.
Hint: Make
2. Package chart into ._____ file.
Hint: Compressed
3. Include helper with _____ function.
Hint: Bring in
1. Create
2. tgz
3. Include
Helmfile extends Helm with declarative configuration for managing multiple releases across different environments.
1. _____ extends Helm for multi-environment deployments.
Hint: File type
2. Deploy with helmfile _____.
Hint: Run
3. Show diff without applying with helmfile _____.
Hint: Show
1. Helmfile
2. Apply
3. Diff