Chapter 5. Helm
In Chapter 4, you learned about Kustomize, a simple yet powerful tool to manage Kubernetes resources. But another popular tool aims to simplify the Kubernetes resources management too: Helm.
Helm works similarly to Kustomize, but itâs a template solution and acts more like a package manager, producing artifacts that are versionable, sharable, or deployable.
In this chapter, weâll introduce Helm, a package manager for Kubernetes that helps install and manage Kubernetes applications using the Go template language in YAML files.
The first step is to create a Helm project and deploy it to a Kubernetes cluster (see Recipes 5.1 and 5.2). After the first deployment, the application is updated with a new container image, a new configuration value, or any other field, such as the replica number (see Recipe 5.3).
One of the differences between Kustomize and Helm is the concept of a Chart. A Chart is a packaged artifact that can be shared and contains multiple elements like dependencies on other Charts (see Recipes 5.4, 5.5, and 5.6).
Application configuration values are properties usually mapped as a Kubernetes ConfigMap
.
Any change (and its consequent update on the cluster) on a ConfigMap
doesnât trigger a rolling update of the application, which means that the application will run with the previous version until you manually restart it.
Helm provides some functions to automatically execute a rolling update when the ConfigMap
of an application changes (see Recipe ...
Get GitOps Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.