Quiz: Helm¶
13 questions
L1 (8 questions)¶
1. Helm upgrade failed and the app is broken. How do you recover?
Show answer
1. helm history2. helm rollback
3. Check helm get values
4. helm get manifest
2. What is the difference between helm install and helm upgrade --install?
Show answer
helm install fails if release exists. helm upgrade --install creates if not exists, upgrades if exists. Use upgrade --install in CI/CD for idempotency.3. What files make up a minimal Helm chart?
Show answer
Chart.yaml (metadata: name, version, appVersion), values.yaml (default config), and templates/ directory with at least one template (e.g., deployment.yaml). charts/ holds dependencies.4. How does Helm values precedence work when multiple sources are provided?
Show answer
Left to right, last wins: chart values.yaml < parent chart values < -f file1.yaml < -f file2.yaml < --set flags. --set always wins. Use helm get values to see the final merged result.5. What does helm template do and why is it useful?
Show answer
Renders templates locally without contacting the cluster. Shows the exact YAML that would be applied. Essential for debugging template logic, CI validation, and code review of chart changes.6. How do you roll back a failed Helm release?
Show answer
helm history7. How do you pass secrets to a Helm chart without putting them in values files?
Show answer
1. Use --set from CI env vars.2. Use external secret operators (External Secrets, Sealed Secrets).
3. Reference existing K8s secrets in templates. Never commit plaintext secrets in values files.
8. How do you manage environment-specific config in Helm?
Show answer
Use multiple values files (values-dev.yaml, values-staging.yaml, values-prod.yaml) with environment-specific overrides. Deploy with: helm upgrade -f values.yaml -f values-L2 (5 questions)¶
1. What is the difference between helm upgrade and helm install?
Show answer
install creates a new release (fails if it exists). upgrade updates an existing release (fails if it doesn't exist). upgrade --install does both — idempotent, preferred in CI/CD pipelines.2. A helm upgrade succeeded but the pods are crashlooping. Why didn't Helm catch it?
Show answer
By default Helm only waits for resources to be submitted to the API server, not for pods to become ready. Use --wait to block until pods are Ready, and --timeout to set a deadline. Without --wait, Helm marks success even if pods fail.3. What are Helm hooks and when would you use them?
Show answer
Hooks are resources annotated with helm.sh/hook that run at specific lifecycle points (pre-install, post-upgrade, pre-delete, etc.). Common uses: DB migrations before upgrade, smoke tests after install, cleanup on delete.4. What is a Helm library chart?
Show answer
A chart with type: library in Chart.yaml. It contains only named templates (helpers) and no deployable resources. Other charts declare it as a dependency and call its templates. Useful for sharing boilerplate (labels, annotations, resource templates) across charts.5. How do you debug a Helm template rendering issue?
Show answer
1. helm template --debug to see rendered output with debug info.2. helm lint to catch syntax errors.
3. Add {{ fail }} to test conditionals.
4. Use helm get manifest