O Kepler (exportador de nível de potência eficiente do Kubernetes) usa o EBPF para investigar as estatísticas do sistema relacionado à energia e exportá-las como métricas de Prometheus.
Como um projeto de sandbox CNCF, Kepler usa o Código de Conduta CNCF
O exportador de Kepler expõe uma variedade de métricas sobre o consumo de energia de componentes Kubernetes, como vagens e nós.
Fluxograma bt
ClassDef Kernel Preenchimento:#E6F3FF, AVC:#4A90E2, cor:#000
Classdef Collector Prehfilt:#f0fff0, AVC:#2ecc71, cor:#000
Classdef Hardware Preenchimento:#fff0f5, AVC:#e74c3c, cor:#000
Classdef Estimador preenchimento:#fff5e6, golpe:#f39c12, cor:#000
Classdef Mapeamento Preenchimento:#F5F0FF, AVC:#9B59B6, cor:#000
Classdef Calculadora Preenchimento:#F0F5FF, AVC:#3498DB, cor:#000
ClassDef Attribution preenchimento:#fff0f0, golpe:#e74c3c, cor:#000
ClassDef Export preenchimento:#f5fff0, AVC:#27AE60, cor:#000
ClassDef Kernellevel Fill:#e6f3ff, golpe:#999, cor:#000
Classdef UsersPace Preenchimento:#F5F5F5, AVC:#999, cor:#000
ClassDef ResourceCollection Preenchimento:#f0fff0, AVC:#999, cor:#000
ClassDef Hardwaremetrics Preenchimento:#fff0f5, AVC:#999, cor:#000
Classdef estimatrics preenchimento:#fff5e6, golpe:#999, cor:#000
Classdef PowerModel Preenchimento:#f0f0ff, golpe:#999, cor:#000
SUBGRAPH KL [nível de kernel]
direção bt
TP [Kernel Tracepoint] ::: kernel -> ebpf [kepler ebpf Program] ::: kernel
EBPF -> | Contador de desempenho STATS | OM [mapa de saída] ::: kernel
fim
SUBGRAFIO UP [Programa de Usuários Space]
direção bt
SUBGRAFIO RC [Coleção de informações de recursos]
direção bt
P1 [Coletor de informações do processo] ::: colecionador -> | pid, nomes | info [processo/contêiner/vm info] ::: colecionador
C1 [Coletor de informações sobre contêineres] ::: Colector -> | ID do contêiner/pod, namespace | Info
V1 [VM Info Collector] ::: Colector -> | VM ID | Info
fim
SUBGRAFIO HM [métricas de hardware]
direção bt
H1 [rapl ou hwmon] ::: hardware -> | cpu/dram/pacote de energia | pwr [leituras de energia de hardware] ::: hardware
H2 [nVidia/Intel GPU API] ::: Hardware -> | GPU Power | PWR
H3 [Redfish ou ACPI Power Meter] ::: Hardware -> | Platform Power | PWR
fim
SUBRAPHE EM [Métricas do Estimador]
direção bt
E1 [ML Recursos: Time da CPU] ::: Estimador -> | CPU/DRAM/Package Power | PWR
E2 [ML Recursos: Time da CPU] ::: Estimador -> | Plataforma Power | PWR
fim
OM -> | Leia os dados do mapa | mapa [mapeamento de atividade] ::: Mapeamento
Informações -> mapa
Mapa -> | Mapa via PID/CGROUP ID | Calc [Calculadora de Energia] ::: Calculadora
Pwr -> calc
fim
SUBGRAPH PM [Modelo de Power]
direção bt
Calc -> | Taxa de atividade do processo | Att [Idle e Dynamic Energy Attribution] ::: Atribuição
Att -> | por processo/contêiner/vm | exp [métricas de energia] ::: atribuição
fim
Exp -> Prom [Prometheus Export] ::: Exportar
Classe KL Kernellevel
classe UP Userspace
Classe RC ResourceCollection
Classe hm hardwaremetrics
Classe EM Estimatormetrics
Classe PM PowerModel
As instruções para instalar o Kepler podem ser encontradas nos documentos Kepler.
Para visualizar as métricas de consumo de energia disponibilizadas pelo Exportador Kepler, importe o painel Kepler pré-gerado para Grafana:
Interessado em contribuir para Kepler? Siga o guia contribuinte para começar!
Uma lista completa de palestras e demos sobre Kepler pode ser encontrada aqui.
Por favor, junte -se às reuniões da comunidade quinzenal. O calendário e a agenda de reuniões podem ser encontrados aqui
Com exceção do código EBPF, tudo é distribuído nos termos da licença Apache (versão 2.0).
Todo o código EBPF está distribuído em qualquer um:
O texto exato da licença varia de acordo com o arquivo. Consulte o cabeçalho do identificador de licenciamento SPDX em cada arquivo para obter detalhes.
Arquivos originários dos autores do Kepler Use (GPL-2.0 somente ou BSD-2-cláusula). Arquivos gerados no kernel Linux, ou seja, vmlluxux.h use GPL-2.0 somente.
A menos que você declare explicitamente o contrário, qualquer contribuição enviada intencionalmente para inclusão neste projeto por você, conforme definida na licença GPL-2, será licenciada como acima, sem termos ou condições adicionais.