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] Sascha Böhme [email protected]

Slide 2

Slide 2 text

Kubernetes im Kontext einer nachhaltigkeiten IT 2 QAware Green in IT Green by IT

Slide 3

Slide 3 text

sustainable kubernetes

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

https://tag-env-sustainability.cncf.io/landscape/

Slide 6

Slide 6 text

Sustainability Engineering zur Optimierung des CO2 Footprint von Kubernetes Clustern 6 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 7

Slide 7 text

7 QAware ELECTRICITYMAPS.COM

Slide 8

Slide 8 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 Regularien 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! 8 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 https://cloud.withgoogle.com/region-picker/

Slide 9

Slide 9 text

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

Slide 10

Slide 10 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. 10 QAware https://www.sustainable-computing.io

Slide 11

Slide 11 text

Messen des Energieverbrauch von Nodes und Pods mit Kepler 11 QAware

Slide 12

Slide 12 text

kube-green An operator to reduce CO2 footprint of your clusters 12 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 13

Slide 13 text

Workload Rightsizing mit VPA und 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"] 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 14

Slide 14 text

Skalierung in Kubernetes – Übersicht 14 QAware Resource Metrics Registry Autoscaler 1. Sammeln 2. Abfragen 3. Berechnen 4. Skalieren

Slide 15

Slide 15 text

Skalierung in Kubernetes – Details 15 QAware Metrics Source Resource Metrics Autoscaler Custom Metrics External Metrics Kubernetes Metrics Server Prometheus Prometheus

Slide 16

Slide 16 text

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 16 QAware

Slide 17

Slide 17 text

Carbon-aware Spatial Shifting mit Karmada 17 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

Slide 18

Slide 18 text

Carbon-aware Spatial Shifting mit Karmada 18 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

Slide 19

Slide 19 text

lreimer/green-kubernetes

Slide 20

Slide 20 text

20 QAware Ansätze und Technologien für nachhaltige K8s Cluster HPA

Slide 21

Slide 21 text

Team Topologies und Platform Engineering als Enabler für Nachhaltige Softwareentwicklung QAware | 21 https://martinfowler.com/bliki/TeamTopologies.html [email protected]

Slide 22

Slide 22 text

22 QAware Nachhaltige Software Konzeption, Implementierung und Betrieb von IT Lösungen mit effizientem Energieverbrauch und minimaler Belastung der Umwelt https://www.greenmanifesto.de/ https://www.meetup.com/de-DE/green-software-development-manifesto/ https://www.green-software-big-picture.org/

Slide 23

Slide 23 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