qaware.de
Aus blau wird grün!
Ansätze und Technologien für nachhaltige
Kubernetes Cluster
Mario-Leander Reimer
mario-leander.reimer@qaware.de
@LeanderReimer
https://cisweb.lancaster.ac.uk/
2
Mario-Leander Reimer
Managing Director | CTO
@LeanderReimer
#cloudnativenerd #qaware
#gernperDude
3
QAware
4
QAware
5
Mario-Leander Reimer
Managing Director | CTO
@LeanderReimer
#cloudnativenerd #qaware
#gernperDude
6
Mario-Leander Reimer
Managing Director | CTO
@LeanderReimer
#cloudnativenerd #qaware
#gernperDude
QAware | 7
CO2-Emissionen weltweit
QAware | 8
Luftfahrt: 2%
Gebäude: 18% Viehzucht: 6%
Beton: 2%
IT: 4%
Stromquellen und CO2 Emissionen weltweit
QAware | 9
Kohle
Öl
Gas
Kernkraft
Wasserkraft
Wind, Solar
https://app.electricitymaps.com/map
10
IT
Nachhaltiger Einfluss auf andere Branchen
Eigenverbrauch von Ressourcen
11
QAware
Nachhaltige Software
Konzeption, Implementierung und
Betrieb von Software mit
begrenztem Energieverbrauch und
minimaler Belastung der Umwelt
https://www.greenmanifesto.de/
https://www.meetup.com/de-DE/green-software-development-manifesto/
12
QAware
13
QAware
Notebook Kühlschrank
Nutzung
Herstellung
Entsorgung
Energieverbrauch
75%
25%
96%
14
QAware 14
https://www.circable.de/
https://www.anderwerk.de/gewerke/recycling/
sustainable
kubernetes
cncf/tag-env-sustainability
TAG Environmental Sustainability
🌳🌍♻
Sustainability Engineering zur Optimierung des CO2
Footprint von Kubernetes Clustern
17
QAware
Monitoring
Wie hoch ist der
CO2 Footprint
der
Ressourcen?
Messen,
messen,
messen.
Elasticity
Überdimensionierte
oder niedrige
Auslastung der
Ressourcen?
Infrastruktur und
Workloads sollten
proportional zum
Bedarf sein.
Architecture
Wo läuft der
Cluster? Auf
welcher
Hardware?
Sustainability
beim Aufbau der
Infrastruktur
berücksichtigen.
Waste
Abschalten oder
Abbau der
Ressourcen.
Nicht benötigte
oder vergessene
Umgebungen oder
Workloads?
18
QAware
Optimierung nach Kosten?
Kosten sind nicht notwendigerweise
proportional zu CO2-Emissionen
Geschäftsanforderungen und Nachhaltigkeitsziele müssen in
Einklang gebracht werden.
Die Auswahl der Region für den Cluster und die Workloads hat erhebliche Auswirkungen auf deren KPIs,
einschließlich Leistung, Kosten und CO2-Fußabdruck.
■ Sicherstellen, dass die Region die erforderlichen gesetzlichen Regulatorien erfüllt (z.B. GDPR)
■ Sicherstellen, dass die Region die benötigten Services und Features unterstützt.
– Wie viele AZs gibt es in der Region?
– Welche Hardware Klassen unterstützt?
– Datenbanken? Storage? …
■ Kostenberechnung für den Cluster und Workloads für die gewählte Region.
■ Netzwerklatenz zwischen Ihren Endbenutzer Standorten und der Region testen!
19
QAware
https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sus_sus_region_a2.html
AWS Graviton 2 ist bis zu 65% sparsamer
beim Energieverbrauch
AWS Graviton 2 ist bis zu 15% sparsamer
bei den Kosten
20
QAware
ELECTRICITYMAPS.COM
Cluster Rightsizing mit Cluster-Autoscaler und Karpenter
21
QAware
Node 1 Node 2 Node 3
X
Node 4
Workload Rightsizing mit VPA und Goldilocks
22
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"]
Festlegen von Anforderungen
und Limits für CPU und RAM
realistische
Performance-Tests
Auswertung des gemessenen
Ressourcenverbrauchs
https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
kube-green
An operator to reduce CO2 footprint of your clusters
23
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
Carbon-aware Scheduling 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
24
QAware
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.
25
QAware
https://www.sustainable-computing.io
Messen des Energieverbrauch von Nodes und Pods mit Kepler
26
QAware
lreimer/green-kubernetes
qaware.de
QAware GmbH
Aschauer Straße 32
81549 München
Tel. +49 89 232315-0
info@qaware.de
twitter.com/qaware
linkedin.com/company/qaware-gmbh
xing.com/companies/qawaregmbh
slideshare.net/qaware
github.com/qaware

Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster

  • 1.
    qaware.de Aus blau wirdgrün! Ansätze und Technologien für nachhaltige Kubernetes Cluster Mario-Leander Reimer mario-leander.reimer@qaware.de @LeanderReimer https://cisweb.lancaster.ac.uk/
  • 2.
    2 Mario-Leander Reimer Managing Director| CTO @LeanderReimer #cloudnativenerd #qaware #gernperDude
  • 3.
  • 4.
  • 5.
    5 Mario-Leander Reimer Managing Director| CTO @LeanderReimer #cloudnativenerd #qaware #gernperDude
  • 6.
    6 Mario-Leander Reimer Managing Director| CTO @LeanderReimer #cloudnativenerd #qaware #gernperDude
  • 7.
  • 8.
    CO2-Emissionen weltweit QAware |8 Luftfahrt: 2% Gebäude: 18% Viehzucht: 6% Beton: 2% IT: 4%
  • 9.
    Stromquellen und CO2Emissionen weltweit QAware | 9 Kohle Öl Gas Kernkraft Wasserkraft Wind, Solar https://app.electricitymaps.com/map
  • 10.
    10 IT Nachhaltiger Einfluss aufandere Branchen Eigenverbrauch von Ressourcen
  • 11.
    11 QAware Nachhaltige Software Konzeption, Implementierungund Betrieb von Software mit begrenztem Energieverbrauch und minimaler Belastung der Umwelt https://www.greenmanifesto.de/ https://www.meetup.com/de-DE/green-software-development-manifesto/
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    Sustainability Engineering zurOptimierung des CO2 Footprint von Kubernetes Clustern 17 QAware Monitoring Wie hoch ist der CO2 Footprint der Ressourcen? Messen, messen, messen. Elasticity Überdimensionierte oder niedrige Auslastung der Ressourcen? Infrastruktur und Workloads sollten proportional zum Bedarf sein. Architecture Wo läuft der Cluster? Auf welcher Hardware? Sustainability beim Aufbau der Infrastruktur berücksichtigen. Waste Abschalten oder Abbau der Ressourcen. Nicht benötigte oder vergessene Umgebungen oder Workloads?
  • 18.
    18 QAware Optimierung nach Kosten? Kostensind nicht notwendigerweise proportional zu CO2-Emissionen
  • 19.
    Geschäftsanforderungen und Nachhaltigkeitszielemüssen in Einklang gebracht werden. Die Auswahl der Region für den Cluster und die Workloads hat erhebliche Auswirkungen auf deren KPIs, einschließlich Leistung, Kosten und CO2-Fußabdruck. ■ Sicherstellen, dass die Region die erforderlichen gesetzlichen Regulatorien erfüllt (z.B. GDPR) ■ Sicherstellen, dass die Region die benötigten Services und Features unterstützt. – Wie viele AZs gibt es in der Region? – Welche Hardware Klassen unterstützt? – Datenbanken? Storage? … ■ Kostenberechnung für den Cluster und Workloads für die gewählte Region. ■ Netzwerklatenz zwischen Ihren Endbenutzer Standorten und der Region testen! 19 QAware https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sus_sus_region_a2.html AWS Graviton 2 ist bis zu 65% sparsamer beim Energieverbrauch AWS Graviton 2 ist bis zu 15% sparsamer bei den Kosten
  • 20.
  • 21.
    Cluster Rightsizing mitCluster-Autoscaler und Karpenter 21 QAware Node 1 Node 2 Node 3 X Node 4
  • 22.
    Workload Rightsizing mitVPA und Goldilocks 22 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"] Festlegen von Anforderungen und Limits für CPU und RAM realistische Performance-Tests Auswertung des gemessenen Ressourcenverbrauchs https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
  • 23.
    kube-green An operator toreduce CO2 footprint of your clusters 23 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
  • 24.
    Carbon-aware Scheduling mitKEDA ■ 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 24 QAware
  • 25.
    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. 25 QAware https://www.sustainable-computing.io
  • 26.
    Messen des Energieverbrauchvon Nodes und Pods mit Kepler 26 QAware
  • 27.
  • 28.
    qaware.de QAware GmbH Aschauer Straße32 81549 München Tel. +49 89 232315-0 info@qaware.de twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware