[k8s] optimize workloads with pod resource recommendations
Most Kubernetes pods could be better configured in terms of resources.
Unfortunately, is not so easy out-of-the-box.
Robusta KRR (Kubernetes Resource Recommender) comes to help us with it.
Intro
According to a recent Sysdig study, on average, Kubernetes clusters have:
- 69% unused CPU
- 18% unused memory
By right-sizing your containers with KRR, you can save an average of 69% on cloud costs.
Resource recommendations
How to deal with that?
There's a lot of solutions out there, one of them is for sure Robusta KRR (Kubernetes Resource Recommender)
Usage
Installation
KRR requires Prometheus and kube-state-metrics
No setup is required if you use kube-prometheus-stack or Robusta's Embedded Prometheus.
If you have a different setup, make sure the following metrics exist:
container_cpu_usage_seconds_total
container_memory_working_set_bytes
kube_replicaset_owner
kube_pod_owner
kube_pod_status_phase
Then follow https://github.com/robusta-dev/krr?tab=readme-ov-file#installation-methods