Slide 1

Slide 1 text

qaware.de Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes Cluster Mario-Leander Reimer [email protected] @LeanderReimer https://cisweb.lancaster.ac.uk/

Slide 2

Slide 2 text

2 Mario-Leander Reimer Managing Director | CTO @LeanderReimer #cloudnativenerd #qaware #gernperDude

Slide 3

Slide 3 text

3 QAware

Slide 4

Slide 4 text

4 QAware

Slide 5

Slide 5 text

5 Mario-Leander Reimer Managing Director | CTO @LeanderReimer #cloudnativenerd #qaware #gernperDude

Slide 6

Slide 6 text

6 Mario-Leander Reimer Managing Director | CTO @LeanderReimer #cloudnativenerd #qaware #gernperDude

Slide 7

Slide 7 text

QAware | 7

Slide 8

Slide 8 text

CO2-Emissionen weltweit QAware | 8 Luftfahrt: 2% Gebäude: 18% Viehzucht: 6% Beton: 2% IT: 4%

Slide 9

Slide 9 text

Stromquellen und CO2 Emissionen weltweit QAware | 9 Kohle Öl Gas Kernkraft Wasserkraft Wind, Solar https://app.electricitymaps.com/map

Slide 10

Slide 10 text

10 IT Nachhaltiger Einfluss auf andere Branchen Eigenverbrauch von Ressourcen

Slide 11

Slide 11 text

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/

Slide 12

Slide 12 text

12 QAware

Slide 13

Slide 13 text

13 QAware Notebook Kühlschrank Nutzung Herstellung Entsorgung Energieverbrauch 75% 25% 96%

Slide 14

Slide 14 text

14 QAware 14 https://www.circable.de/ https://www.anderwerk.de/gewerke/recycling/

Slide 15

Slide 15 text

sustainable kubernetes

Slide 16

Slide 16 text

cncf/tag-env-sustainability TAG Environmental Sustainability 🌳🌍♻

Slide 17

Slide 17 text

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?

Slide 18

Slide 18 text

18 QAware Optimierung nach Kosten? Kosten sind nicht notwendigerweise proportional zu CO2-Emissionen

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

20 QAware ELECTRICITYMAPS.COM

Slide 21

Slide 21 text

Cluster Rightsizing mit Cluster-Autoscaler und Karpenter 21 QAware Node 1 Node 2 Node 3 X Node 4

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Messen des Energieverbrauch von Nodes und Pods mit Kepler 26 QAware

Slide 27

Slide 27 text

lreimer/green-kubernetes

Slide 28

Slide 28 text

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