I'm really struggling with managing pod resource requests and limits on our EKS cluster. It seems like every developer wants to request way more resources than necessary for their services, like 2 CPU and 4Gi of memory, when they only end up using around 200m CPU and 500Mi memory. I understand they want to be safe, but it's really driving up our cloud costs. Our nodes look underutilized, and our finance team is pushing for cost reduction. I've tried using Vertical Pod Autoscaler (VPA), but it doesn't fit most of our workloads, and while Horizontal Pod Autoscaler (HPA) helps with scaling, it doesn't solve the mismatch between requests and actual usage. Currently, we keep looking at Prometheus graphs, tweaking YAML files, and rolling out pods - it feels like a total waste of time. Has anyone found a solution? Any scripts or tools that could help? I'm feeling like I'm missing a simple answer, but everything I try either breaks our services or involves constant management.
5 Answers
I faced this issue too! What I do now is monitor actual usage, script to identify big discrepancies between requested and used resources, and then gradually reduce requests for services. It’s a bit tedious but effective in the long run.
It makes sense to handle it step by step. It could save a lot of headaches down the line.
Make sure to tag your resources well. I recommend generating weekly reports that outline what's requested versus what’s actually used, which will highlight the discrepancies by team.
That sounds smart! Are you creating these reports using Prometheus or any specialized tools?
Yes, comparing requested and actual usage can be eye-opening. I think it really helps finance understand where the money is going.
It sounds like a frustrating situation! You might want to send the finance team directly to the developers to discuss these requests. If they see the actual impact on costs firsthand, it might motivate them to adjust their requests accordingly.
That's a valid point! It’s definitely a group effort, and cash flow could spark some necessary conversations.
Totally agree; accountability can change the dynamics. Maybe even set up a collaborative session between finance and dev teams.
This issue is really about the culture within the teams. Developers can ask for what they want, but if the applications don't need it, then they should be getting what they actually use. Don’t hesitate to push back when requests are excessive.
I’ve taken the same approach. If people expect you to manage the costs, they need to collaborate with you.
Exactly! It's all about what’s necessary—maybe have discussions to bring awareness.
Have you considered creating visibility for developers around their actual resource usage? Sharing that information can empower them to make better decisions regarding their requests.
Great idea! A quick chalk talk or a shared dashboard could work wonders.
Absolutely, facilitating that kind of knowledge sharing can really help teams take ownership.
That sounds like a good strategy! Keeping tabs on usage before making changes seems wise.