ben ebsworth
Kubernetes

Helm use-cases

Demonstrating use-cases for Helm and a discussion on the strength and weaknesses of templating, in the context of other available tooling within the Kubernetes ecosystem

#technology#kubernetes#developer experience

kustomize

Kustomize is a fairly new templating tool that has come out of the efforts by the team at GoogleCloudPlatform. It seeks to provide a different approach to managing the packaging or contextualisation of a number of Kubernetes resources. Compared to Helm which uses variable substitution and other even more obfuscating ways of constructing resources, such as conditionals and iterations available in the Golang templating tool Sprig, Kustomize forces the definition of all required resources and then provides a mechanism of merging, replacing and sourcing resources for the given environment or context.

In terms of complexity I would argue that Kustomize is an intermediate step between using raw Kubernetes resources and going deep into templating via Helm or other tools. Where I believe Helm still has a strong use-case when it comes to building more complex abstractions, as well as providing a strong story around sharing and versioning, through its packaging and repository system.