Helm

0%
Theory
Quiz

    Fundamentals & Core Concepts

    • What is Helm, and what problem does it solve in the Kubernetes ecosystem?

      Junior
    • How does Helm simplify application deployment compared to managing raw Kubernetes YAML manifests?

      Junior
    • Explain the concept of a Helm chart and its main components.

      Junior
    • What is a Helm Release?

      Junior
    • Why is Helm often described as the package manager for Kubernetes?

      Junior
    • What are the key benefits of using Helm for deploying and managing applications on Kubernetes?

      Junior
    • How does Helm template YAML files, allowing developers to inject variables and create customizable deployments?

      Junior
    • What is the difference between a Helm chart and a Helm release?

      Junior
    • What are the three core concepts of Helm (Charts, Releases, Repositories)?

      Junior
    • How does Helm compare to using plain kubectl apply with raw YAML?

      Junior
    • What is the difference between Helm and Kustomize?

      Junior
    • What are the features of Helm charts, including simplified deployments, version control, and configuration management?

      Junior
    • Explain how Helm works.

      Junior
    • How do Helm charts relate to Docker and Kubernetes?

      Junior
    • Who created Helm for Kubernetes?

      Junior
    • How does Helm interact with other Kubernetes tools such as kubectl?

      Junior
    • What are common Helm chart conventions?

      Junior
    • How does Helm compare to Terraform for deploying to Kubernetes?

      Mid
    • How do Helm and Kustomize handle distribution?

      Mid
    • Does Helm maintain state in the cluster?

      Mid
    • Which Helm features support microservices?

      Mid
    • How do Helm and Kustomize differ in configuration management?

      Mid
    • How do Helm and Kustomize handle versioning and release tracking?

      Mid
    • How do Helm and Kustomize integrate with native kubectl?

      Mid
    • Discuss the tradeoffs between using Helm vs Kustomize for Kubernetes configuration management. When would you choose one over the other, or use them together?

      Senior
    • How does Helm compare to a Kubernetes Operator for managing applications?

      Senior
    • What are the pain points of deploying Helm via Terraform?

      Senior
    • Explain the architecture difference between Helm and Kustomize.

      Senior
    • How do Helm and Kustomize integrate with GitOps tools like ArgoCD and Flux?

      Senior
    • Discuss the complexity and security implications of Helm compared to Kustomize.

      Senior

    Chart Structure & Authoring

    • Describe the typical directory structure of a Helm chart and the purpose of its main files (Chart.yaml, values.yaml, templates/, charts/, _helpers.tpl, NOTES.txt).

      Junior
    • Explain the helm package command.

      Junior
    • What is the purpose of the _helpers.tpl file in a chart?

      Junior
    • What is the role of the .helmignore file?

      Junior
    • What is the difference between the version and appVersion fields in Chart.yaml?

      Junior
    • What does helm create do?

      Junior
    • What information does Chart.yaml contain?

      Junior
    • What is the purpose of the templates/NOTES.txt file?

      Junior
    • How does semantic versioning apply to Helm charts?

      Junior
    • Can a Helm chart have multiple deployments?

      Junior
    • What is the difference between helm search repo and helm search hub?

      Junior
    • What does the helm show command (chart/values/readme/all) let you inspect?

      Junior
    • What does the deprecated field in Chart.yaml indicate?

      Junior
    • What are the README.md and LICENSE files used for in a Helm chart?

      Junior
    • What are some best practices for creating and maintaining Helm charts?

      Mid
    • What is the difference between apiVersion v1 and v2 in Chart.yaml?

      Mid
    • What are Library Charts, and how do they differ from Application Charts?

      Mid
    • What is the crds/ directory used for and how does Helm handle CRDs?

      Mid
    • How should you handle chart versioning versus appVersion bumps?

      Mid
    • What is a library chart and how does it help share template logic?

      Mid
    • Explain the significance of Chart.yaml and its key fields like apiVersion, name, version, and appVersion. What is the difference between version and appVersion?

      Mid

    Values & Configuration

    • What is values.yaml used for, and how does it enable customization of Helm charts?

      Junior
    • What is the difference between using -f/--values files and --set on the command line?

      Junior
    • How do you pass custom values when installing a Helm chart?

      Junior
    • Explain Helm templates and value files.

      Junior
    • Explain the different ways to override values in a Helm chart (-f, --set, --set-string, --set-file) and describe the precedence order when multiple methods are used.

      Mid
    • What are global values in Helm, and how are they passed to subcharts?

      Mid
    • What is the purpose of values.schema.json in a Helm chart, and when would you use it?

      Mid
    • What is the difference between --set, --set-string, --set-file, and --set-json?

      Mid
    • What are the limitations of --set compared to using a values file?

      Mid
    • How do you manage values across multiple environments (dev, staging, production) using Helm?

      Mid
    • How do you validate values in a Helm chart (e.g. values.schema.json, required function)?

      Mid
    • Where are Helm values stored?

      Mid
    • What is the order of precedence between -f values files and --set flags?

      Mid
    • How do you escape nested keys, array indexes, and special characters when using --set?

      Mid

    Templating Engine

    • How do flow control constructs like if/else, with, and range work in Helm templates?

      Junior
    • What information is available under the .Release object?

      Junior
    • What is the required function and when would you use it?

      Junior
    • How do you write comments in Helm templates?

      Junior
    • What do the default and required functions do in Helm templates?

      Junior
    • What does the default function do in a template?

      Junior
    • What is the difference between indent and nindent?

      Junior
    • What does the printf function do and how is it useful in templates?

      Junior
    • Explain how Helm uses Go templating to generate Kubernetes manifests.

      Mid
    • What are the built-in objects available in Helm templates (e.g. .Release, .Chart, .Values, .Capabilities, .Files, .Template)?

      Mid
    • How do you define and use variables in a Helm template?

      Mid
    • What are named templates (partials) and how are they used (define, template, include)? Why is include generally preferred over template?

      Mid
    • What are pipelines in Helm templates and how does the pipe operator work?

      Mid
    • What are the recommended labels and naming conventions defined in _helpers.tpl?

      Mid
    • How do you control whitespace in Helm templates, and why is it important?

      Mid
    • What is the Sprig library and what kinds of functions does it provide?

      Mid
    • What does the .Files object let you do in a chart?

      Mid
    • Describe the use of pipelines and Sprig functions within Helm templates, with examples of commonly used functions like default, required, nindent, and toYaml.

      Mid
    • How does the with block narrow scope and what pitfalls does it introduce?

      Mid
    • How does the range action work and what is the $ root-scope escape used for?

      Mid
    • How do the toYaml, nindent, and indent functions help when writing templates?

      Mid
    • How do you access the root scope with $ when inside a range or with block?

      Mid
    • Why is include preferred over template in Helm charts?

      Mid
    • How do toYaml and fromYaml work in Helm templates?

      Mid
    • What does the .Template built-in object provide (Name and BasePath)?

      Mid
    • How does the ternary function work in Helm templates?

      Mid
    • What is the difference between the coalesce and default functions?

      Mid
    • What do the b64enc and b64dec functions do and where are they commonly used in charts?

      Mid
    • How do you access deeply nested or dynamically-keyed values using the index function?

      Mid
    • What does the fail function do and when would you use it to abort template rendering?

      Mid
    • When would you use the tpl function in Helm?

      Senior
    • What is the .Capabilities object and how would you use it to gate manifests by Kubernetes version?

      Senior
    • What does the lookup function do in a Helm template and what are its limitations with helm template or dry-run?

      Senior
    • How do you build and manipulate lists and dicts in Helm templates using list, dict, get, and set?

      Senior
    • How do the merge and mergeOverwrite functions combine dictionaries in templates?

      Senior
    • How can you use a sha256sum checksum annotation to automatically roll pods when a ConfigMap or Secret changes?

      Senior

    Chart Dependencies & Subcharts

    • What is the purpose of helm dependency update?

      Junior
    • How do you manage chart dependencies in Helm, and what is the role of the dependencies block in Chart.yaml?

      Mid
    • What are subcharts and how do they promote modularity and reusability?

      Mid
    • How do you conditionally enable or disable a subchart using condition and tags?

      Mid
    • What is an umbrella or parent chart?

      Mid
    • What is the bitnami-common or common chart pattern?

      Mid
    • What is the Chart.lock file and what is it for?

      Mid
    • How and why would you alias a subchart used more than once?

      Mid
    • How do parent charts pass values to subcharts, and what are import-values and alias used for?

      Senior
    • What is the difference between helm dependency update and helm dependency build?

      Senior
    • What do import-values and exports do between subcharts and parent charts?

      Senior
    • How do you handle dependencies between Helm charts from different repositories?

      Senior

    Lifecycle Hooks

    • How do you define a Helm hook in a chart?

      Junior
    • What are Helm hooks, and when would you use them in a chart's lifecycle? Provide examples of common hook types like pre-install and post-upgrade.

      Mid
    • How do hooks differ from normal chart resources?

      Mid
    • What are Helm hooks and what lifecycle events can they be attached to?

      Mid
    • Explain the concept of hook weights and delete policies.

      Mid
    • What happens when a Helm hook fails during an install or upgrade?

      Mid
    • How do hook weights control ordering?

      Senior
    • What are hook delete policies and what options are available?

      Senior
    • How do pre-rollback and post-rollback hooks behave during a helm rollback?

      Senior

    Release Management & History

    • What is the difference between helm install and helm upgrade?

      Junior
    • What are revisions in Helm and how is release history tracked?

      Junior
    • What are the possible statuses of a Helm release?

      Junior
    • What is the purpose of Helm release management, and how do you delete a Helm release and its associated resources safely?

      Junior
    • How can you list all installed Helm releases in a cluster, and what information is displayed for each release?

      Junior
    • Describe the Helm lifecycle from chart creation to deletion.

      Junior
    • What does helm get let you retrieve about a release?

      Junior
    • What information does helm status display about a release?

      Junior
    • What does the helm history command show and how do you use it?

      Junior
    • What is Helm's release rollback feature, when would you use it, and how does Helm manage release state during a rollback?

      Mid
    • What is the difference between helm install and helm upgrade --install, and when would you use --install?

      Mid
    • What happens when you run helm uninstall, and what is the --keep-history flag used for?

      Mid
    • How does the --history-max flag affect release history?

      Mid
    • How does Helm track releases and their revisions, and where is release state stored in Kubernetes?

      Mid
    • How are release names scoped in Helm 3?

      Mid
    • How does Helm handle chart versioning, and what happens when you upgrade a release to a new chart version?

      Mid
    • How does a helm rollback affect the revision history of a release?

      Mid
    • How is Helm release state encoded when stored in Kubernetes Secrets?

      Senior

    Cli Flags & Commands

    • What does the --create-namespace flag do?

      Junior
    • What are the --dry-run and --debug flags used for in Helm CLI commands?

      Junior
    • How can you search for charts in Helm?

      Junior
    • What does the --timeout flag control during install and upgrade?

      Junior
    • What does the helm env command display?

      Junior
    • What is the purpose of helm template and how does it differ from helm install or helm upgrade?

      Mid
    • What does the --atomic flag do during an install or upgrade?

      Mid
    • What do the --wait and --wait-for-jobs flags do?

      Mid
    • What does the --dry-run flag do, and how does --dry-run=server differ?

      Mid
    • What are the important flags for helm install/upgrade (e.g. --wait, --atomic, --dry-run, --create-namespace)?

      Mid
    • When would you use the --wait or --atomic flags during a Helm deployment?

      Mid
    • What does the helm-diff plugin do?

      Mid
    • What do the --generate-name and --name-template flags do during install?

      Mid
    • What does the --no-hooks flag do and when would you use it?

      Mid
    • What does the --skip-crds flag do and how does it relate to Helm's CRD handling?

      Mid
    • What does the --force flag do on a helm upgrade and what are its risks?

      Mid
    • What does the helm registry login command do and when is it needed?

      Mid
    • What is the difference between --reuse-values and --reset-values on upgrade?

      Senior
    • In what order does Helm create Kubernetes resources during an install, and how does it order deletions?

      Senior
    • How does the readiness semantics of --wait determine whether a release is considered successful?

      Senior

    Repositories & Oci Registries

    • How do you add and update chart repositories with the Helm CLI?

      Junior
    • What is Artifact Hub and how does it relate to the old Helm Hub?

      Junior
    • What is a Helm chart repository, and how do you interact with it using commands like helm repo add and helm repo update?

      Junior
    • What is a Helm chart repository and what is the role of index.yaml?

      Junior
    • How can you set up a Helm chart repository, and what tools or methods can you use for hosting it?

      Mid
    • How do helm push and helm pull work with oci:// references?

      Mid
    • What is the purpose of the index.yaml file in a Helm chart repository, and how is it generated and updated?

      Mid
    • What does the helm-git plugin allow you to do?

      Mid
    • How does the Helm plugin system work?

      Senior
    • Explain the concept of OCI registries for storing Helm charts. What are the advantages of using OCI registries over traditional HTTP chart repositories?

      Senior
    • How does Helm ensure the provenance and integrity of charts (helm package --sign, .prov files)?

      Senior
    • Why have OCI registries replaced classic chart repositories for many users?

      Senior
    • What is the .prov file and how does helm verify use it?

      Senior

    Helm 2 Vs Helm 3

    • What does helm version show and why does it matter that Helm 3 is client-only?

      Junior
    • What are the main differences between Helm 2 and Helm 3?

      Mid
    • What was Tiller in Helm 2 and why was it removed in Helm 3?

      Mid
    • How does release-name scoping differ between Helm 2 and Helm 3?

      Mid
    • How does the client-only architecture of Helm 3 work?

      Mid
    • What security and RBAC problems did Tiller introduce?

      Mid
    • Why was Tiller required in Helm 2?

      Mid
    • What is the default storage driver for release information in Helm 3, and how did it differ in Helm 2?

      Mid
    • How did chart dependencies management change from Helm v2 to Helm v3?

      Mid
    • Did Helm 2 automatically create namespaces, and how does Helm 3 handle this?

      Mid
    • How did CRD handling change between Helm 2 and Helm 3?

      Mid
    • How do you migrate from Helm 2 to Helm 3 and what does the 2to3 plugin do?

      Senior
    • Explain the removal of Tiller in Helm 3 and the security implications of this change.

      Senior
    • How did Helm 3 improve release management and storage compared to Helm 2?

      Senior
    • How did Helm 3 improve chart handling for hooks, dependencies, and CRDs?

      Senior

    Testing Linting & Debugging

    • Explain the concept of helm lint and its importance in chart development.

      Junior
    • How does helm test work and how do you write a test for a chart?

      Mid
    • How do you debug a failing Helm chart deployment?

      Mid
    • Who validates Helm charts before deployment?

      Mid
    • Why do Helm charts fail to deploy in Kubernetes?

      Mid
    • What is chart-testing (ct) and how is it used in CI?

      Mid
    • Where do you test Helm charts in CI/CD pipelines?

      Mid
    • How can you validate rendered charts against Kubernetes schemas using tools like kubeval or kubeconform?

      Senior

    Gitops & Ci Cd

    • How does Helm fit into a GitOps workflow with Argo CD or Flux?

      Mid
    • What is helmfile and when would you use it for declarative multi-release management?

      Mid
    • How do you automate Helm with CI/CD?

      Mid
    • Where do you define deployment strategies in Helm?

      Mid
    • How does a Flux HelmRelease and HelmRepository render a Helm chart?

      Senior
    • How do you ensure consistency between development, staging, and production environments in GitOps using Helm?

      Senior
    • How would you use Helm to deploy an application across multiple Kubernetes clusters?

      Senior

    Secrets & Security

    • What is helm-secrets and what problem does it solve?

      Mid
    • What do notable plugins like helm-diff and helm-secrets do?

      Mid
    • How do you handle secrets and sensitive data in Helm charts securely, and what are the common approaches or tools (helm-secrets plugin, External Secrets Operator, Sealed Secrets)?

      Senior
    • What security considerations should you take into account when using Helm to deploy applications, and how can you mitigate potential risks?

      Senior
    • What are best practices for handling secrets in Helm and why is baking secrets into values a risk?

      Senior
    • How do you handle secrets in a GitOps workflow using Helm?

      Senior

    Release State & Resource Management

    • Where does Helm 3 store release state by default?

      Mid
    • How does the three-way strategic merge patch work during a Helm upgrade?

      Senior
    • What storage backends can Helm use for release state?

      Senior
    • How does Helm decide whether to adopt or reject pre-existing Kubernetes resources during an install?

      Senior