G
GuideDevOps
Lesson 14 of 17

Helm

Part of the Kubernetes tutorial series.

Managing dozens of YAML files for a single application is difficult. Helm solves this by packaging all your Kubernetes manifests into a single Chart, allowing for easy versioning, sharing, and configuration.

1. Why Use Helm?

  • Templating: Use variables instead of hardcoded values in YAML.
  • Release Management: Version your deployments and rollback with one command.
  • Sharing: Use pre-made charts for common software (Redis, Nginx, Prometheus).

2. Basic Helm Commands

Add a Repository

Action:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

Result:

"bitnami" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "bitnami" chart repository

Install a Chart

Action:

# Install Redis with a custom password
helm install my-redis bitnami/redis --set auth.password=MySecurePassword

Result:

NAME: my-redis
LAST DEPLOYED: Fri Apr 10 12:05:00 2026
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
...Redis can be accessed via port 6379 on the following DNS name...

3. Creating Your Own Chart

You can create a custom chart for your own applications.

Action:

helm create my-app

Result:

Creating my-app

The Chart Structure:

  • Chart.yaml: Metadata about the chart.
  • values.yaml: Default configuration values.
  • templates/: The actual Kubernetes YAML files with template placeholders.

4. Managing Releases

Upgrade a Release

Action:

# Change a configuration value and upgrade
helm upgrade my-redis bitnami/redis --set auth.password=NewPassword

Rollback a Release

Action:

# Revert to the previous version
helm rollback my-redis 1

Result:

Rollback was a success! Happy Helming.

Summary

  • Chart: A package of Kubernetes manifests.
  • Release: A specific instance of a chart running in your cluster.
  • Values: Variables used to customize the chart.
  • Helm Hub: Where to find community charts.