Kepler (exportador de nivel de potencia eficiente de Kubernetes) utiliza EBPF para sondear las estadísticas del sistema relacionadas con la energía y las exporta como métricas Prometheus.
Como proyecto CNCF Sandbox, Kepler utiliza el código de conducta CNCF
El exportador de Kepler expone una variedad de métricas sobre el consumo de energía de los componentes de Kubernetes, como pods y nodos.
diagrama de flujo bt
Classdef Kernel Rill:#E6F3FF, Stroke:#4A90E2, Color:#000
Classdef Collector Fill:#F0FFF0, Stroke:#2ECC71, Color:#000
ClassDef Hardware Fill:#FFF0F5, Stroke:#E74C3C, Color:#000
Classdef Estimador de relleno:#FFF5E6, accidente cerebrovascular:#F39C12, Color:#000
ClassDef Mapping Fill:#F5F0FF, Stroke:#9B59B6, Color:#000
ClassDef Calculator Fill:#F0F5FF, Stroke:#3498DB, Color:#000
ClassDef Atribution Fill:#FFF0F0, Stroke:#E74C3C, Color:#000
ClassDef Export Fill:#F5FFF0, Stroke:#27AE60, Color:#000
Classdef Kernellevel Fill:#E6F3FF, Stroke:#999, Color:#000
ClassDef UserSpace Fill:#F5F5F5, Stroke:#999, Color:#000
Classdef ResourCecollection Fill:#F0FFF0, Stroke:#999, Color:#000
Classdef Hardwaremetrics Fill:#FFF0F5, Stroke:#999, Color:#000
Classdef Estimatormetrics Fill:#FFF5E6, Stroke:#999, Color:#000
Classdef PowerModel Fill:#F0F0FF, Stroke:#999, Color:#000
Subgraph KL [Nivel de núcleo]
dirección bt
Tp [kernel tracePoint] ::: kernel -> ebpf [kepler ebpf programa] ::: kernel
EBPF -> | Estadísticas de contador de rendimiento | OM [mapa de salida] ::: kernel
fin
Subgraph Up [Programa de espacio de usuario]
dirección bt
Subgraph RC [Colección de información de recursos]
dirección bt
P1 [COLECTOR DE INFORMACIÓN DEL PROCESO] ::: Collector -> | Pid, Nombres | Info [Process/Container/VM Info] ::: Collector
C1 [COLECTOR DE INFORMACIONES DEL CONTENEDOR] ::: COLLECTOR -> | ID de contenedor/vaina, espacio de nombres | Información
V1 [VM Info Collector] ::: Collector -> | VM ID | Información
fin
Subgraph HM [Métricas de hardware]
dirección bt
H1 [RAPL o HWMON] ::: hardware -> | CPU/DRAM/PAGACE POWER | PWR [Lecturas de alimentación de hardware] ::: Hardware
H2 [NVIDIA/Intel GPU API] ::: Hardware -> | GPU Power | PWR
H3 [Redfish o ACPI Power Meder] :::: Hardware -> | Potencia de plataforma | PWR
fin
Subgraph EM [Métricas estimador]
dirección bt
E1 [ML Características: Tiempo de CPU] :::: Estimador -> | CPU/DRAM/PAGACE POWER | PWR
E2 [ML Características: Tiempo de CPU] :::: Estimador -> | Potencia de plataforma | PWR
fin
Om -> | leer datos de mapa | mapa [asignación de actividades] ::: mapeo
Información -> Mapa
Mapa -> | Mapa a través de PID/CGROUP ID | Calc [Calculadora de energía] ::: Calculadora
PWR -> Calc
fin
Subgraph PM [modelo de potencia]
dirección bt
Calc -> | Relación de actividad de proceso | ATTR [Atribución de energía inactiva y dinámica] ::: Atribución
Attr -> | por proceso/contenedor/vm | exp [métricas energéticas] ::: atribución
fin
Exp -> Prom [Prometheus Export] :::: Export
Clase KL Kernellevel
Clase Up Userspace
Clase RC ResourCecollection
Clase HM Hardwaremetrics
Estimatormética de clase EM
Clase PM PowerModel
Las instrucciones para instalar Kepler se pueden encontrar en los documentos de Kepler.
Para visualizar las métricas de consumo de energía disponibles por el exportador de Kepler, importe el tablero Kepler pregenerado en Grafana:
¿Interesado en contribuir a Kepler? ¡Sigue la guía contribuyente para comenzar!
Aquí se puede encontrar una lista completa de charlas y demostraciones sobre Kepler.
Únase a las reuniones comunitarias quincenales. El calendario y la agenda de la reunión se pueden encontrar aquí
Con la excepción del código EBPF, todo se distribuye bajo los términos de la licencia Apache (versión 2.0).
Todo el código EBPF se distribuye bajo:
El texto exacto de la licencia varía según el archivo. Consulte el encabezado SPDX-License-Identifier en cada archivo para más detalles.
Archivos que se originan en los autores del uso de Kepler (cláusula GPL-2.0 solo o BSD-2). Archivos generados desde el kernel de Linux, es decir, vmlinux.h use GPL-2.0 solo.
A menos que declare explícitamente lo contrario, cualquier contribución presentada intencionalmente para su inclusión en este proyecto por usted, tal como se define en la licencia GPL-2, se debe tener licencia dual como anteriormente, sin ningún término o condiciones adicionales.