Kubernetes configuration management
The beauty of Kubernetes is that every part of it is abstracted as an object that can be managed and configured declaratively with YAML or JSON through its API server. This makes Kubernetes configuration easier to manage as code. However, it is still challenging to manage this configuration when you have groups of clusters that run hundreds of add-ons and services.
Imagine a scenario where you manage a company's infrastructure with Kubernetes, and you have multiple clusters for development, testing, and production. Add to them the cluster add-ons that run on the Kubernetes services layer as per the following diagram:
This means that you can have N clusters with a growing number of add-ons and different environment types, such as development, QA, and production. If we put these together, we end up with a complex and redundant configuration to manage.
The recommended...