As I dive deeper into the world of Kubernetes so that I understand what I need my charts to do, and how I intend to design the templates for my environment, I am curious how Helm ties things together.
For example, we have 30+ microservices in 7 functional areas, all for one application. We want to handle deployments with horizontal scaling, volumes, etc.
I think the picture is crystal clear when we are talking about one service. I.e. 1 microservice would have 1 deployment, 1 hpa, ingress instructions, a service definition, and volumes and configmaps to support it. I look at some of the examples for larger systems, and the examples I see use labels to tie things together.
When I create a parent chart that declares all of the microservices as dependencies, does Helm inject labels on my behalf? For example, given I am in a namespace for the environment, I want to type "helm install wicketz example/wicketzapp" and then later when I need to update it or uninstall it, I would update the "wicketz" app in that custom namespace. Additionally, as we replace microservices we no longer need because they are now redundant with Kubernetes features, I'd like the update to remove the deployments that are no longer needed.
What's the glue that binds things together? Is that something I have to manage myself, or be aware of as I'm writing my helm charts? Unfortunately, too many of the examples I find are too simplistic to answer the questions I'm having now.