Skip to main content
This lesson explains how Helm packages, templating, and values solve Kubernetes configuration and deployment challenges for applications like WordPress. A Helm chart bundles manifest templates (parameterized using Go templating) together with a values.yaml file that supplies concrete values. When Helm renders the templates with values, it produces the final Kubernetes manifests that are applied to the cluster. Templates use Go template syntax (for example, {{ .Values.image }}) so a single values.yaml can customize many resources in one place. Below are example template files that you might find in a WordPress Helm chart. Each template demonstrates how variables are referenced and where values come from. templates/deployment.yaml
templates/pv.yaml
templates/service.yaml
templates/pvc.yaml
templates/secret.yaml
These template variables (for example, .Values.image, .Values.storage, .Values.passwordEncoded) are populated from the chart’s values.yaml file. Anyone deploying the chart can customize the deployment by editing that single file. Example values.yaml
Together, templates + values.yaml form a Helm chart. Charts also include Chart metadata (Chart.yaml) describing the chart itself.
A presentation slide titled "Helm Chart" showing a dashed box labeled Helm
Chart on the right, containing three stacked rounded buttons: "Templates",
"values.yaml", and
"Chart.yaml".
Example Chart.yaml
You can author your own chart or reuse community charts hosted on Artifact Hub. Artifact Hub is a central index of community-contributed Helm charts and other Kubernetes packages.
Screenshot of the Artifact Hub repository homepage showing a large headline
"Find, install and publish Kubernetes packages" with a central search box,
example queries, and package/release statistics. The site URL
(https://artifacthub.io/) is shown in the
corner.
As of this lesson, there are thousands of charts available on Artifact Hub. You can search charts from the web UI or directly from the Helm CLI. Search Artifact Hub from the Helm CLI:
If you want to use charts from a specific repository (for example Bitnami), add that repo to your local Helm configuration and search the repo:
To install a chart on your cluster:
Each installation of a chart is called a release. You can install the same chart multiple times under different release names; each release is independent:
Common chart components and their purpose Useful Helm commands (summary) Examples and tips:
Kubernetes Secret data values (the “data” field) must be base64-encoded. In the earlier secret template, .Values.passwordEncoded is expected to already be base64-encoded. If you prefer to supply the raw password in values.yaml and have Helm encode it during rendering, you can use the b64enc template function, for example:
Alternatively, use the Secret’s stringData field to provide raw (unencoded) string values and let the API server handle encoding:
Avoid including raw passwords in plain text in version control; consider using external secret management or encrypted values files.
This lesson covered the essential Helm concepts for packaging and deploying applications: templates, values, charts, repositories, and the basic Helm CLI workflow. For production use and advanced exam topics, explore additional Helm features such as subcharts, chart dependencies, chart testing, hooks, and templating functions. Further reading and references

Watch Video

Practice Lab