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.
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.
1. Helm Client
2. Helm library