Video Thumbnail for Lesson
5.1: What is Helm?

What is Helm?

Helm is both a package manager and templating engine for Kubernetes. It bundles related manifests and configuration into charts that can be stored in a Helm repository or an OCI registry. When you install a chart, Helm renders the templates with your chosen values and creates a release in the cluster.

Why use Helm?

  • Application deployment – install third-party tools and shared infrastructure in a repeatable way.
  • Environment management – reuse the same chart to configure applications across multiple environments.

Chart structure

A chart typically contains:

  • Chart.yaml for metadata
  • values.yaml with default configuration
  • A templates/ directory holding Kubernetes manifests

Templating basics

Templates can reference chart and release metadata, define variables, include conditionals, and loop over values. For example:

apiVersion: v1
kind: Pod
metadata:
  name: example
spec:
  containers:
    - image: nginx:{{ .Values.version }}

Real-world charts often become quite complex as they accommodate many deployment scenarios. Thankfully the helm CLI provides commands such as helm install, helm upgrade, and helm rollback to manage releases.

We'll spend the rest of this module getting hands-on with Helm—consuming existing charts and eventually writing a simple chart of our own.