What Is a Helm Chart? Packaging Kubernetes Apps
A Helm chart is a reusable package of templated Kubernetes manifests plus default values - the "apt package" of Kubernetes apps.
Deploying a real app to Kubernetes means a pile of related manifests: Deployment, Service, ConfigMap, Ingress, and more. Maintaining those by hand across environments is tedious and error-prone. A Helm chart bundles them as templates with configurable values, so you install and upgrade an app as one versioned unit.
What is inside a chart
Chart.yaml- name, version, and metadata.templates/- Kubernetes manifests with templating placeholders.values.yaml- default configuration values.- Optional dependencies on other charts.
Templates and values
Templates use placeholders like {{ .Values.image.tag }}. At install time, Helm renders the templates with your values, producing concrete manifests. Different environments just supply different values.
Releases
Installing a chart creates a named "release". helm upgrade updates it, helm rollback reverts it, and helm history shows past revisions - versioned lifecycle management for your whole app.
A typical command
helm upgrade --install web ./chart --set image.tag=1.4 installs or upgrades the web release, overriding the image tag to the build you want to ship.
Helm charts in CD
A delivery pipeline renders or upgrades a chart with the image tag or digest CI just produced. The chart keeps environment differences in values files, so the same chart promotes cleanly from staging to prod.
Key takeaways
- A Helm chart packages templated Kubernetes manifests plus default values.
- Values customize one chart per environment; releases track the lifecycle.
- CD upgrades a chart with the freshly built image tag or digest.