[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.
                
                ![[k8s] optimize workloads with pod resource recommendations](/content/images/size/w960/2024/02/logo--1-.png) 
                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
 
                    ![[k8s] kubernetes events logger](/content/images/size/w750/2024/02/download-1.png) 
        ![[docker] optimise distributed builds with remote docker cache](/content/images/size/w750/2024/02/download.png) 
        ![[k8s] resource and cost optimisation with kube-green](/content/images/size/w750/2024/02/kube-green-logo-concept-53fdbdef8db6d0d563ce2f99d7209ce5.png) 
        ![[GCP] Google Kubernetes Engine autopilot](/content/images/size/w750/2024/02/download.jpeg) 
        ![[docker] make docker build faster](/content/images/size/w750/2024/02/486481a0-592b-426f-bb55-16846e9c234f.jpeg)