I've been exploring Kubernetes (K8s) in my homelab and using EKS, and I've noticed a massive number of components that seem essential for a cluster. Some examples include Cilium, ArgoCD, External Secrets Operator, kube-prometheus-stack, CNPG, HPA, Loki, External DNS, and Karpenter. It feels overwhelming just to deploy an application without these components. This got me thinking: for those experienced with deploying clusters, what's the absolute minimum viable setup for a production Kubernetes environment? And how do startups manage to deploy their applications without all these complex components?
1 Answer
Kubernetes is really just a framework, so the minimum setup can vary based on your goals. Many of the components you mentioned are indeed high-value services, but they might not be necessary for every application.

When you say high-value services, do you mean they're crucial, or are they just overkill for certain development stages?