Goldilocks
Overview
Goldilocks, c'est l'outil Kubernetes qui pense que deviner les requests/limits de tes pods à l'aveugle, c'est comme jouer à la roulette russe avec tes ressources. Il analyse l'usage réel de tes applications via VPA (Vertical Pod Autoscaler), génère des recommandations précises, et te propose une interface web pour visualiser et appliquer les optimisations. Si tu veux rightsizer tes workloads intelligemment, c'est parfait.
Goldilocks fonctionne en installant des VPA en mode "Off" pour collecter des métriques sans autoscaling, puis analyse les données pour recommander des ressources optimales. Interface web intégrée pour visualiser les recommendations par namespace, avec export vers YAML ou application directe.
Goldilocks se distingue par ses recommandations basées sur données réelles (pas de guess), son interface web claire pour visualiser l'impact, et son approche non-intrusive (observation sans modification automatique).
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://goldilocks.docs.fairwinds.com/ |
| Repository | https://github.com/FairwindsOps/goldilocks |
| Licence | Apache 2.0 |
| Développeur | Fairwinds |
| Langage | Go |
| Version K8s | 1.16+ |
Cas d'usage typiques
- Rightsizing des ressources pods après déploiement initial
- Optimisation coûts cloud avec requests/limits précis
- Audit des workloads sur ou sous-provisionnés
- Amélioration de la stabilité avec limits appropriés
- Préparation migration de clusters avec resource planning
- Monitoring continu des besoins en ressources applicatives
Intégrations et écosystème
- VPA : utilise Vertical Pod Autoscaler pour collecte de métriques
- Metrics Server : nécessite metrics-server pour données ressources
- Prometheus : intégration optionnelle pour métriques avancées
- Helm : charts disponibles pour installation simplifiée
- CI/CD : intégration dans pipelines pour recommandations automatiques
- Cost management : synergie avec outils FinOps pour optimisation coûts
Avantages
- ✅ Recommandations data-driven : basées sur usage réel, pas de devinettes
- ✅ Interface web intuitive : visualisation claire des impacts et gains possibles
- ✅ Non-intrusif : observation uniquement, pas de modification automatique
- ✅ Namespace-aware : recommendations par namespace, granularité fine
- ✅ Export facile : génération YAML prêt à appliquer
- ✅ Cost optimization : réduction significative des coûts cloud possibles
Inconvénients et limitations
- ❌ Dépendance VPA : nécessite VPA installé et fonctionnel (pas toujours dispo)
- ❌ Période d'observation : recommandations fiables après plusieurs jours/semaines
- ❌ Workloads variables : moins précis pour workloads à patterns irréguliers
- ❌ Pas d'automatisation : application des recommendations reste manuelle
- ❌ Ressources additionnelles : VPA et Goldilocks consomment des ressources cluster
Alternatives
- Manual monitoring : observation manuelle avec kubectl top/Prometheus
- VPA seul : utilisation directe du Vertical Pod Autoscaler
- Fairwinds Insights : solution commerciale avec features avancées
- KubeCost : pour optimisation coûts avec recommandations intégrées
- Custom scripts : monitoring et recommendations via scripts Prometheus
Ressources
- Documentation Goldilocks : https://goldilocks.docs.fairwinds.com/
- GitHub : https://github.com/FairwindsOps/goldilocks
- Fairwinds : https://www.fairwinds.com/