Flag over-provisioned kubernetes namespaces
Problem to solve
Users will often times guess/estimate what the resource needs are for Kubernetes namespaces and allocate resources based on that. After the first deployment, users are good at increasing resources as they run into problems but not the other way around. Over-provisioned namespaces don't throw recognizable flags so users are often unaware that they are wasting resources, and therefore money, on resources that could be more efficiently allocated elsewhere.
List deployments which are over-provisioned. Using
kube-state-metrics and Prometheus:
Calculate the average and maximum usage of CPU/Memory for each deployment.
Compare that to the resource requests for that deployment.
Calculate how much they are over-provisioned, and represent that on the group cluster page in some form. (Ideally sorted)
- Note you generally want to over-provision RAM a bit but under-provision CPU.
Updated MVC Proposal (WIP)
Iteration 1: Display CPU and Memory consumption by namespace for a cluster. IF the namespace has been specifically provisioned, also display this information. If it has not, leave that information blank. For the MVC, we will NOT be including metrics on how much something is under or over-provisioned, nor will we be including recommendations
WIP design proposals (4 current options)
|Stacked health and resource sections||Collapsible sections||Tabs||Button group|
What does success look like, and how can we measure that?
Links / references
We can just list the deployments which are over-provisioned, and someone can manually track it down for now.
We already have all of the data needed from . We would: