
- Chart: A packaged set of Kubernetes resources and templates that describe an application.
- Release: A deployed instance of a chart in a Kubernetes cluster.
- Template: A text file (usually YAML) with placeholders that Helm renders into concrete Kubernetes manifests using values.
- values.yaml: Default configuration values for the chart that feed templates.
- Chart.yaml: Chart metadata (name, version, dependencies, etc.).
- You provide configuration via
values.yamlor command-line overrides. - Helm renders templates by replacing placeholders with those values.
- Helm installs, upgrades, rolls back, or uninstalls the resulting manifests as a release in the cluster.
values.yaml, the values.yaml file itself, and Chart.yaml metadata.
service.yaml:
Set
apiVersion: v2 for charts targeting Helm 3. Helm 3 uses apiVersion: v2 to support features like chart dependencies and the type field; using the correct apiVersion ensures Helm interprets the chart format correctly.values.yaml.
LICENSE— Chart license.README.md— Human-readable documentation and usage examples.charts/— Vendored or packaged chart dependencies for offline use.
- Keep templates idempotent and declarative.
- Use
values.yamlfor user-configurable parameters; avoid hard-coding values in templates. - Use helpers (in
_helpers.tpl) for reusable template logic and consistent naming. - Version charts following semantic versioning and increment
appVersionwhen the packaged application changes. - Test charts with
helm lintand render templates withhelm templatebefore installing.
- Helm documentation: https://helm.sh/docs/
- Kubernetes documentation: https://kubernetes.io/docs/
- Bitnami charts repository: https://charts.bitnami.com/bitnami
values.yaml interact, and how Chart.yaml metadata and dependencies are used. Topics such as advanced templating functions, helper templates, library charts, and CI/CD integration are outside the scope of this article.