Helm umbrella charts, for those who aren’t familiar, describe and encapsulate a deployable collection of loosely couple Kubernetes components as a higher-order Helm chart. A collection of software elements that each have their own individual charts but, for whatever reason (e.g. design choices, ease of deployability, versioning complexities), must be installed or upgraded as a since atomic unit. By Christopher Parker, MSc.
A simple use case for an Umbrella chart could be that of a web application with a separate web-scraper component that populates a database. In this trivial example, the web application and scraper would each be described in their own Helm charts which can be individually deployed.
The article then explains:
- Separation of concerns
- Where is this not applicable?
Even when using umbrella charts, one might still want to control the version of the image in the sub-chart if parts of a project are making use of the sub-chart as a standalone chart. When making use of umbrella charts to deploy a multi-component stack, particularly where the sub-components of the stack will rarely, if ever, be deployed standalone, it makes sense to migrate image tag versions to the umbrella chart and maintain these here. Nice one!
[Read More]