I've been experimenting with Kubernetes, both at home and with EKS, and I've noticed that there are so many components required for a fully functional cluster. For instance, I've come across tools like Cilium, ArgoCD, External Secrets Operator, kube-prometheus-stack, CNPG, HPA, Loki, External DNS, and Karpenter, among others. Managing all these components is a lot of work, especially when you also need to handle upgrades—not to mention the complexity of deploying applications without adequate observability. This leads me to wonder: what is the minimum viable product (MVP) or minimum viable cluster that can be deployed for production use? Given the numerous components available, how do smaller companies and startups manage to deploy their applications on Kubernetes?
1 Answer
Kubernetes is a base framework, meaning the essential components can vary depending on your needs. The items you listed are certainly valuable, but if you’re just getting started or working at a smaller scale, you can probably operate with fewer components. It’s crucial to define what’s necessary for your specific use case and what can be considered overkill for the initial stage of your application.

When you say 'high value,' do you mean they're critical for functionality or just nice to have depending on your application's maturity?