This article was written by : Quentin Reynaud – Cloud Engineer – Senior Infrastructure Consultant – Devoteam G Cloud
Kubecon: A major environmental challenge
Sustainability is a top priority across all industries, and the IT sector is playing a key role in finding solutions. Indeed, data centres consume a significant amount of energy. Fortunately, tools and techniques now exist to reduce this ecological footprint, while maintaining application performance.
During the Kubecon, testimonies and feedback showed us that Kubernetes is playing a key role in this major strategy to reduce carbon emissions from running infrastructure. How can we provide developers with the best solutions for optimising the use of resources and reducing energy consumption? For a deeper understanding, let’s explore the question through this article.
Unlock untapped resources
Kube-downscaler is a tool that provides a powerful feature enabling developers to explicitly notify Kubernetes of reduced pod numbers. It’s very simple to use, using an annotation to define the conditions under which a deployment or even a job should be suspended. The main objective is to reduce the use of resources outside working hours. For example, by reducing development environment resources to 0 overnight. This approach frees up resources, thereby reducing overall energy consumption.
https://codeberg.org/hjacobs/kube-downscaler
Integration of Kepler: consumption data for better management
Kepler allows you to collect detailed data on resource consumption by pods. This data includes CPU, memory and storage usage. By integrating these metrics into machine learning models, Kepler is able to estimate the power consumption of workloads. This is only an estimate. However, it allows important trends to be identified. These limitations encourage developers to optimise resources.
https://sustainable-computing.io
Vertical Pod Autoscaler (VPA): automation for efficiency
Estimating the resource requirements for an application is a complex task, especially when it’s new and has no track record. For this reason, on Kubernetes, we often oversize the number of resources needed to ensure that the application runs properly. At the scale of several hundred or thousand pods, this represents a considerable amount of allocated resources.
Fortunately, on Kubernetes we can leverage the Vertical Pod Autoscaler (VPA). The VPA is a Kubernetes controller that automatically adjusts the resources allocated to a pod according to its actual consumption. By using the In-place Resource Resize feature in the latest versions of Kubernetes, it is no longer even necessary to restart pods to adjust resources, as everything is done transparently.
Conclusion: Paving a path for action
Getting developers involved is crucial for a successful approach. By giving them access to all the tools available, we enable them to easily identify areas for optimisation and to adopt more energy-efficient practices. Their contribution is key to building a greener future.
To find out more
Innovation for a Greener Future:
High-Performance, Sustainable Cloud Computing