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

Aus blau wird grün! Ansätze und Technologien fü...

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

Die Cloud hat bereits heute einen größeren CO-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?

M.-Leander Reimer

February 01, 2024
Tweet

More Decks by M.-Leander Reimer

Other Decks in Technology

Transcript

  1. 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?
  2. 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/
  3. 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
  4. 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
  5. 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
  6. Skalierung in Kubernetes – Übersicht 14 QAware Resource Metrics Registry

    Autoscaler 1. Sammeln 2. Abfragen 3. Berechnen 4. Skalieren
  7. Skalierung in Kubernetes – Details 15 QAware Metrics Source Resource

    Metrics Autoscaler Custom Metrics External Metrics Kubernetes Metrics Server Prometheus Prometheus
  8. 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
  9. 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
  10. 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
  11. 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/
  12. 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