Helm Basics
Why Helm
When deploying applications in Kubernetes, it often becomes necessary to set up a multitude of services. Consider a massive application I’ve encountered, composed of over 20 microservices. Each of these services relies on several Kubernetes resources, including Services, Deployments, StatefulSets, ConfigMaps, and more.
Moreover, these applications are typically deployed across various environments — like testing, staging, and production — each requiring different configurations.
Manually deploying Kubernetes resources for such a large-scale application using individual YAML files can be incredibly cumbersome and inefficient, not to mention the complexity and error-prone nature of maintaining these files.
Is there a better, more efficient approach? Ideally, we’d want something akin to Docker images, where we could bundle all necessary Kubernetes resource files for an application and manage the entire application deployment and maintenance through this bundle.
This is indeed possible with Helm Charts. Helm Charts allow us to manage Kubernetes files effectively, and we can utilize the helm
command to create and manage applications based on these Chart packages.