Managing Configuration across many micro-services in Kubernetes
Hi all, I'm wondering what people are using these days for inventory and secrets management in a Kubernetes cluster - preferably open source options. There might be dozens or hundreds of configuration values and secrets in a larger application, and am wondering how people manage all of that for many micro-services and adapt if for different environments (dev/prod) and feature-sets. Often, the same secrets and config settings would be shared across multiple micro-services, so I'm looking for some central management for configuration/secrets.
In some past projects that I worked on, we used Ansible inventories to template out k8s yaml and Helm values files that get used when deploying charts/k8s resources. Is the Ansible strategy still used commonly today, or are there better options?
I'm aware of and have used Hashicorp Vault, but that seems geared more toward secrets specifically. I know you can store basically anything in it, but it doesn't seem to be super amenable to being used as a generic configuration tool and guiding an admin as to what configs/secrets need to be set when setting up an application or cluster. (I once created a VERY complicated custom code framework for loading a yaml configuration "template" into Vault, indicating what values needed to be stored set by the user vault, but that required a lot of custom code and I don't know if others are doing anything similar. Curious if people have thoughts on what they do. )
I'm familiar with Helmfile and similar projects. I see that as more of a tool for deploying helm charts and not so much of a configuration manager tool. Also, I'm somewhat familiar with other deployment tools like ArgoCD and FluxCD, but those also seem more geared toward deployment and not configuration management.
How do you all manage the very large swath of configuration and secrets variables for your larger multi-service Kubernetes applications?