Skip to main content

Helm Chart

What is a Helm Chart? Definition and explanation

Helm Chart Definition

A Helm chart is a collection of files that define, configure, and install a Kubernetes application. It consists of a set of templates, values, and other resources that are used to create the necessary Kubernetes resources for an application. Helm charts are used to package, distribute, and manage applications within Kubernetes clusters.

What is a Helm Chart used for?

A Helm chart is used for packaging, configuring, and deploying applications on Kubernetes, providing a structured format that contains all the necessary resources, dependencies, and configuration files. It simplifies application setup, upgrades, and maintenance by enabling consistent deployments across different environments.

Example Helm Chart structure

mychart/
Chart.yaml # Required: Chart metadata (name, version, description, etc.)
LICENSE # Optional: License information
README.md # Optional: Documentation for the chart
values.yaml # Default configuration values
values.schema.json # Optional: JSON schema for validating values
charts/ # Directory for chart dependencies
templates/ # Kubernetes manifests and templates
deployment.yaml
service.yaml
_helpers.tpl # Reusable template snippets
NOTES.txt # Optional: Usage notes shown post-install

Key Components of a Helm Chart

  • Templates: Define the Kubernetes resources needed (like Deployments, Services, etc.) using Go templating. This enables customization of properties like replica count, container images, and resource limits by inserting specific values during installation.
  • Values: values.yaml holds default settings for your application. This central file allows for easy customization of templates, and you can override these defaults for different environments.
  • Chart.yaml: The metadata file, listing the chart's name, version, description, and any dependencies, which supports versioning and compatibility management.
  • values.schema.json: An optional schema file that validates the structure and types of values used, ensuring configuration consistency.

For more information on Helm charts, be sure to check out our complete Helm tutorial.