Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Navigating the Cloud-native Sustainability Land...

Navigating the Cloud-native Sustainability Landscape towards Green K8s Clusters @ CloudLand

The cloud already has a larger CO2 footprint than the worldwide aviation industry. With increasing digitalization and cloudification this trend will continue if we don't do anything about it. Many Kubernetes installations are greatly oversized in terms of the resources actually required and thus contribute unnecessarily to global warming. How big is the footprint of your cluster and its workloads? In this session we will outline and demonstrate different approaches and technologies for measuring, scaling, scheduling and resource tuning that help to make your K8s clusters green(er).

M.-Leander Reimer

June 21, 2024
Tweet

More Decks by M.-Leander Reimer

Other Decks in Technology

Transcript

  1. Shared Responsibility means it is our responsibility to use the

    required cloud resources in a sustainable manner. 8 QAware
  2. Sustainability Engineering to optimize the CO2 footprint of your K8s

    clusters and workloads. 9 QAware Monitoring What is the energy consumption and CO2 footprint of my cluster and workloads? Measure, Measure, Measure, Act. Elasticity Oversized or underutilized resources? Infrastructure and workloads should be proportionate to actual demand. Architecture Where is the cluster running? On which hardware? Take sustainability into account when building the infrastructure. Waste Shutdown or deplete the wasted resources. Not required, redundant or forgotten environments or workloads?
  3. Business requirements and sustainability goals need to be aligned and

    reconciled. The choice of region for the cluster and workloads has a significant impact on their KPIs, including performance, cost, and carbon footprint. ▪ Ensure that the region meets the required legal regulations (e.g. GDPR) ▪ Ensure that the region supports the required services and features. – Which hardware classes are supported? – Databases? Storage? … ▪ Calculate costs for the cluster and workloads for the selected region. ▪ Test network latency between your end user locations and region! 11 QAware https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sus_sus_region_a2.html AWS Graviton 2 can save up to 65% on energy consumption AWS Graviton 2 can save up to 15% on costs
  4. Workload Rightsizing with VPA and Goldilocks 13 QAware https://github.com/FairwindsOps/goldilocks apiVersion:

    "autoscaling.k8s.io/v1" kind: VerticalPodAutoscaler metadata: name: hamster-vpa spec: targetRef: apiVersion: "apps/v1" kind: Deployment name: hamster updatePolicy: # updateMode: "Auto" updateMode: "Off" resourcePolicy : containerPolicies : - containerName: '*' minAllowed: cpu: 100m memory: 50Mi maxAllowed: cpu: 1 memory: 500Mi controlledResources : ["cpu", "memory"] defined and tune requests and limits for CPU and RAM perform realistic performance tests analyse measurements of resource consumption https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
  5. kube-green An operator to reduce CO2 footprint of your clusters

    14 QAware apiVersion: kube-green.com/v1alpha1 kind: SleepInfo metadata: name: non-working-hours spec: weekdays: "1-5" sleepAt: "18:00" wakeUpAt: "08:00" timeZone: "Europe/Rome" suspendCronJobs : true excludeRef: - apiVersion: "apps/v1" kind: Deployment name: no-sleep-deployment - matchLabels : kube-green.dev/exclude : "true" https://kube-green.dev/docs/FAQ/#how-many-co2-is-produced-by-pod
  6. Sustainable Computing Projects ▪ Kepler (Kubernetes-based Efficient Power Level Exporter)

    uses eBPF to probe energy related system stats and exports as Prometheus metrics. ▪ PEAKS (Power Efficiency Aware Kubernetes Scheduler) uses metrics exported by Kepler to help Kubernetes schedule to improve energy efficiency by placing Pods on optimal nodes. ▪ CLEVER (Container Level Energy-efficient VPA Recommender) uses metrics exported by Kepler to recommend Vertical Pod Autoscaler the resource profiles to improve energy efficiency by running workloads. 17 QAware https://www.sustainable-computing.io
  7. Carbon-aware Scaling mit KEDA ▪ https://keda.sh ▪ KEDA ist ein

    Kubernetes-basierter ereignisgesteuerter und zweck-orientierter Autoscaler. ▪ Unterstützt 50+ Scaler Out-of-the-box, e.g. Cron, RabbitMQ, … ▪ Carbon Aware Scheduling - Kubernetes Carbon Intensity Exporter - Carbon Aware KEDA Operator 19 QAware
  8. Carbon aware Spatial a with Karmada 20 QAware https://rossfairbanks.com/2023/07/12/carbon-aware-spatial-shifting-with-karmada/ karmada

    control plane Cluster A API Server Cluster B API Server Agent karmada API server etcd karmada scheduler karmada API server Cluster Controller Policy Controller Binding Controller Execution Controller W1 W1 W1 W1
  9. Carbon aware Spatial Shifting with Karmada 21 QAware https://rossfairbanks.com/2023/07/12/carbon-aware-spatial-shifting-with-karmada/ karmada

    control plane Cluster A API Server Cluster B API Server Agent karmada API server etcd karmada scheduler karmada API server Cluster Controller Policy Controller Binding Controller Execution Controller W1 W1 W1 W1
  10. Team Topologies and Platform Engineering are key enabler for Sustainable

    Cloud Infrastructure and Software Development QAware | 23 https://martinfowler.com/bliki/TeamTopologies.html [email protected]
  11. qaware.de QAware GmbH Aschauer Straße 32 81549 München Tel. +49

    89 232315-0 [email protected] twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware