Helm Playground

1 hr

To understand Helm, think about a program installed on a Windows computer. This program has hundreds or thousands of files. But when you install it, you just use one file, maybe setup.exe. When you uninstall it, you just use Add/Remove Programs from Control Panel. You don't need to go around installing each file, or removing each file. The setup application tracks all files that belong to that application. Helm does a similar thing for Kubernetes applications.

For example, you might have a WordPress installation running on Kubernetes. This will need Pods, Services, Deployments, Secrets, and who knows what other objects. Normally, you'd need to have multiple YAML files where you define your Services, Deployments, Secrets, and so on. Imagine you need 20 different WordPress websites in your cluster. It will become hard to install them all. You'd need to "kubectl apply -f" hundreds of YAML files, potentially. And then track what YAML file belongs to what website. Helm simplifies that by grouping YAML files together and tracking what objects belong to what application. It's like a setup.exe for your Kubernetes applications. With one command, it installs all objects required. With another command, it can uninstall all objects required by a particular application. And more interestingly, it can also upgrade or downgrade them.

Helm groups all the objects required by some application, in what it calls a Helm Chart. This is simply a directory (or archive) that contains a bunch of files that describe that application to Kubernetes.

Want to learn Helm?

Helm for beginners course is the perfect way to get started with Helm. You will go through the basic concepts of Helm and understand its architecture. Learn how to create Helm charts and use different functions and conditionals.

Features of Helm

  • Ease the deployment and management of applications on the Kubernetes cluster.
  • Easily download and install Helm charts developed by others. It's similar to how you can use Docker containers from the Internet.
  • Ability to upgrade the application or roll back the changes.
  • Customize the configuration of the applications during deployment.

Components of Helm

1. Helm Client

  • Command line interface for the end users.
  • Used to download, install, or uninstall charts, plus other actions.
  • Used to upgrade applications to their next version, or downgrade to the previous version in case something goes wrong.

2. Helm library

  • Contains the logic for implementing the operations sent by the Helm client.
  • Interacts with the Kubernetes API server to perform all the operations.
  • Responsible for managing the life cycle of the applications managed through these charts.
Quick start guide
List of Services
Relevant courses
Video to get started
How it works