# Goldilocks
Goldilocks (opens new window) watches your Kubernetes deployments and makes recommendations for resource requests and limits based on actual usage.
Goldilocks utilizes the vertical-pod-autoscaler (opens new window) in recommendation mode to extract suggested CPU and memory limits/requests.
# Requirements
Make sure you have metrics-server (opens new window) installed in your cluster.
You'll also need
vertical-pod-autoscaler (opens new window).
Goldilocks will install this for you by default, but if you're managing
your own VPA installation, you can --set goldilocks.installVPA=false
.
# Remediation
Goldilocks Action Items will suggest particular amounts for CPU and memory limits/requests. You can copy/paste these recommendations into your workload configuration.
If Goldilocks is making recommendations for a third-party application, you can likely set its requests/limits using its Helm chart or by editing its installation YAML by hand.
# Sample Report
Goldilocks reports contain information about resource usage for each Deployment.
{
"deployments": [
{
"containers": [
{
"containerName": "fairwinds-insights",
"limits": {
"cpu": "500m",
"memory": "1Gi"
},
"lowerBound": {
"cpu": "25m",
"memory": "262144k"
},
"requests": {
"cpu": "500m",
"memory": "1Gi"
},
"target": {
"cpu": "1000m",
"memory": "3Gi"
},
"uncappedTarget": {
"cpu": "2000m",
"memory": "3Gi"
},
"upperBound": {
"cpu": "2000m",
"memory": "3Gi"
}
}
],
"deploymentName": "my-app",
"namespace": "my-app"
}
]
}