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

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

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

Die Cloud hat bereits heute einen größeren CO2-Fußabdruck als die Luftfahrtindustrie, mit steigender Digitalisierung und Cloudifizierung wird sich dieser Trend fortsetzen, wenn wir nichts dagegen unternehmen. Viele Kubernetes-basierte Installationen sind gemessen am eigentlich benötigten Ressourcen Bedarf stark überdimensioniert und tragen so unnötig zur globalen Erwärmung bei. Wie sieht die Energiebilanz Ihres Clusters und Workloads aus?

In diesem Vortrag zeigen wir Ansätze und Technologien, die dabei helfen K8s-Cluster grün(er) zu machen. Zunächst braucht es Transparenz: Wie sieht die Energiebilanz des Clusters und seiner Workloads aus? Erst danach lassen sich diese gezielt auf ihre Energiesparsamkeit hin optimieren. Und das ist gar nicht so schwer, also packen wir es an!

M.-Leander Reimer

July 11, 2023
Tweet

More Decks by M.-Leander Reimer

Other Decks in Technology

Transcript

  1. 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/
  2. Stromquellen und CO2 Emissionen weltweit QAware | 9 Kohle Öl

    Gas Kernkraft Wasserkraft Wind, Solar https://app.electricitymaps.com/map
  3. 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/
  4. 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?
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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