Last modified March 6, 2022
Cost optimization tools
Adoption of Kubernetes still requires monitoring cost drivers. Improving resource utilization allows you to get the most out of your infrastructure, while maintaining your budget. This document is comprised of a curated list of helpful tools on the journey to cost optimization. The list is based on our experience building and running our own infrastructure, in addition to learnings we gained from working with large global enterprise.
Visualization and Optimization
- Kubecost, an open core cost visualization tool (now with a nice plugin included)
- Cloud Provider tooling:
- Kube-capacity, a simple kubectl plugin that helps with visualize usage across nodes
- Prometheus + Grafana + exporters
- Goldilocks, a tool for refine and discover the right application resource settings
- There are a lot of payed solutions offering dashboard oriented services that track costs of Kubernetes Applications like:
- Replex
- Cloudability
- Opsani (Also manages resource assignation using AI)
- Kubernetes Opex Analytics
- CloudHealth
Autoscaling
- Cluster Autoscaler scales up, based on unscheduled pods, and down nodes when certain threshold is reached
- Horizontal Pod Autoscaler scale out/in the replicas of you application based on metrics defined
- Vertical Pod Autoscaler evaluate and modify current application resource based on usage
- Custom Metrics Adapter makes possible to scale your application based on a new different set of metrics
Dev/Test clusters
- Janitor, a tool that leverages on resource annotations to clean and set TTL for your deployments, find out unused volumes,…
- Kubernetes Downscaler scales down deployments on your non production cluster based on some conditions
Summary
Cost optimization is a journey. You will find you need to adopt different tools and continually tweak your setup to get the greatest benefit from cloud native.
Need help, got feedback?
We listen to your Slack support channel. You can also reach us at support@giantswarm.io. And of course, we welcome your pull requests!