Kepler (Kubernetes Efficial Power Exporter) использует EBPF для исследования, связанной с энергией, и экспортирует их в качестве метрик Prometheus.
В качестве проекта песочницы CNCF, Кеплер использует код поведения CNCF
Экспортер Kepler выявляет различные показатели о потреблении энергии компонентов Kubernetes, таких как стручки и узлы.
Блок -схема Bt
ClassDef ядро заполнение:#e6f3ff, ход:#4A90E2, цвет:#000
ClassDef Collector Fill:#F0FFF0, ход:#2ECC71, цвет:#000
Заполнение аппаратного обеспечения ClassDef:#fff0f5, ход:#e74c3c, цвет:#000
ClassDef Оценка заполнения:#FFF5E6, ход:#F39C12, цвет:#000
ClassDef Mapping Fill:#f5f0ff, ход:#9b59b6, цвет:#000
ClassDef Calculator Fill:#F0F5FF, ход:#3498DB, цвет:#000
ClassDef Attribution Fill:#fff0f0, ход:#e74c3c, цвет:#000
ClassDef Export Fill:#f5fff0, ход:#27ae60, цвет:#000
ClassDef kernellevel Fill:#e6f3ff, ход:#999, цвет:#000
ClassDef Userpace Fill:#F5F5F5, ход:#999, цвет:#000
ClassDef ResourceCollection Fill:#F0FFF0, ход:#999, цвет:#000
ClassDef Hardwaremetrics Fill:#fff0f5, ход:#999, цвет:#000
ClassDef Оценка заполнения:#fff5e6, ход:#999, цвет:#000
ClassDef PowerModel Fill:#f0f0ff, ход:#999, цвет:#000
Подграф Кл [уровень ядра]
Направление Bt
TP [ядра TracePoint] ::: kernel -> EBPF [программа Kepler EBPF] ::: Ядра
Ebpf -> | Статистика счетчика производительности | OM [вывода карта] ::: ядра
конец
Subgraph Up [пользовательская программа]
Направление Bt
Подграф RC [Коллекция информации о ресурсах]
Направление Bt
P1 [Коллекционер информации о процессе] ::: Коллекционер -> | PID, имена | Информация [Process/Container/VM Info] ::: Коллекционер
C1 [Container Info Collector] ::: Collector -> | Контейнер/идентификатор POD, пространство имен | Информация
V1 [VM Info Collector] ::: Collector -> | ID VM | Информация
конец
Подграф HM [аппаратные метрики]
Направление Bt
H1 [RAPL или HWMON] ::: Аппаратное обеспечение -> | ЦП/DRAM/PACKE POWER | PWR [Аппаратные показания питания] ::: Аппаратное обеспечение
H2 [nvidia/intel gpu api] ::: ardware -> | power | pwr | pwr
H3 [Redfish или ACPI Power Meter] ::: Adware -> | Platform Power | PWR
конец
Подграф EM [показатели оценки]
Направление Bt
E1 [ML функции: время процессора] ::: ouctator -> | CPU/DRAM/PACKE POWER | PWR
E2 [ML функции: время процессора] ::: ouctator -> | Platform Power | PWR
конец
OM -> | Читать данные карты | Карта [Картирование деятельности] ::: Картирование
Информация -> карта
Карта -> | Карта через PID/CGROUP ID | CALC [Energy Calculator] ::: Калькулятор
PWR -> Calc
конец
Подграф PM [модель мощности]
Направление Bt
Calc -> | Коэффициент активности процесса | ATTR [IDLE и Dynamic Energy Attribution] ::: attribution
Attr -> | per процесс/контейнер/vm | exp [энергетические метрики] ::: attribution
конец
Exp -> выпускной [Prometheus export] ::: Export
Класс KL Kernellevel
Class Up Userpace
Класс RC Resourcecollection
Класс HM Hardwaremetrics
Класс EM Оценка
Класс PM PowerModel
Инструкции по установке Kepler можно найти в документах Kepler.
Чтобы визуализировать показатели энергопотребления, доступные экспортером Kepler, импортируйте предварительно сгенерированную панель кеплер в Grafana:
Заинтересованы в участии в Кеплере? Следуйте руководству, чтобы начать!
Полный список переговоров и демонстраций о Кеплере можно найти здесь.
Пожалуйста, присоединяйтесь к раз в две недели сообщества. Календарь встреч и повестка дня можно найти здесь
За исключением кода EBPF, все распространяется в соответствии с условиями лицензии Apache (версия 2.0).
Весь код EBPF распространяется по любому:
Точный текст лицензии варьируется в зависимости от файла. Пожалуйста, смотрите заголовок SPDX-License-идентификатор в каждом файле для получения подробной информации.
Файлы, которые происходят от авторов использования Kepler (только GPL-2.0 или BSD-2-CLAUE). Файлы, сгенерированные из ядра Linux, то есть vmlinux.h, используют только GPL-2.0.
Если вы явно не заявляете иное, какой-либо вклад, преднамеренно предназначенный для включения в этот проект вами, как определено в лицензии GPL-2, должен быть двойной лицензией, как указано выше, без каких-либо дополнительных условий или условий.