What Is Goldilocks? (Or How to Set Your Kubernetes Resource Requests)

Written By: Andrew Suderman

Why Set Resource Configurations?

Getting Kubernetes Resource Requests Just Right

How Does Goldilocks Generate Recommendations?

  • update model with recent information on resources (using listers based on watch),
  • update model with fresh usage samples from Metrics API,
  • compute new recommendation for each VPA,
  • put any changed recommendations into the VPA resources.”
  • For Guaranteed, we take the target field from the recommendation and set that as both the request and limit for that container. This guarantees that the resources requested by the container will be available to it when it gets scheduled, and generally produces the most stable Kubernetes clusters.
  • For Burstable, we set the request as the lowerBound and the limit as the upperBound from the VPA object. The scheduler uses the request to place the pod on a node, but it allows the pod to use more resources up to the limit before it’s killed or throttled. This can be helpful for handling spiky workloads, but if used too much can quickly result in over-provisioning a node and overwhelming it.

How Accurate is Goldilocks?

Contributing to Goldilocks

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Fairwinds

Fairwinds — The Kubernetes Enablement Company | Editor of uptime 99