Kepler (eksportir tingkat daya efisien Kubernetes) menggunakan EBPF untuk menyelidiki statistik sistem terkait energi dan mengekspornya sebagai metrik Prometheus.
Sebagai proyek CNCF Sandbox, Kepler menggunakan kode perilaku CNCF
Kepler eksportir memperlihatkan berbagai metrik tentang konsumsi energi komponen kubernet seperti pod dan node.
BOWCHART BT
ClassDef Kernel Fill:#E6F3FF, Stroke:#4A90E2, Warna:#000
ClassDef Collector Fill:#f0fff0, Stroke:#2ECC71, Warna:#000
ClassDef Hardware Fill:#FFF0F5, Stroke:#E74C3C, Warna:#000
Isi Estimator ClassDef:#FFF5E6, Stroke:#F39C12, Warna:#000
ClassDef Mapping Fill:#F5F0FF, Stroke:#9B59B6, Warna:#000
ClassDef Calculator Fill:#F0F5FF, Stroke:#3498DB, Warna:#000
Isi Atribusi ClassDef:#FFF0F0, Stroke:#E74C3C, Warna:#000
ClassDef Ekspor Isi:#f5fff0, stroke:#27ae60, warna:#000
ClassDef Kernellevel Fill:#E6F3FF, Stroke:#999, Warna:#000
ClassDef Userspace Fill:#F5F5F5, Stroke:#999, Warna:#000
ClassDef Resourceclection Fill:#f0fff0, Stroke:#999, Warna:#000
ClassDef Hardwaremetrics mengisi:#fff0f5, stroke:#999, warna:#000
ClassDef EstimaTormetrics mengisi:#fff5e6, stroke:#999, warna:#000
ClassDef PowerModel Fill:#F0F0FF, Stroke:#999, Warna:#000
Subgraph KL [level kernel]
arah bt
TP [Kernel Tracepoint] ::: Kernel -> EBPF [program EBPF Kepler] ::: Kernel
EBPF -> | Statistik Penghitung Kinerja | OM [Peta Output] ::: Kernel
akhir
Subgraph UP [Program Userspace]
arah bt
Subgraph RC [Koleksi Info Sumber Daya]
arah bt
P1 [Kolektor Info Proses] ::: Kolektor -> | PID, Nama | Info [Proses/Kontainer/Info VM] ::: Kolektor
C1 [Kolektor Info Kontainer] ::: Kolektor -> | ID Kontainer/Pod, Namespace | Info
V1 [VM Info Collector] ::: Collector -> | VM ID | Info
akhir
Subgraph HM [metrik perangkat keras]
arah bt
H1 [rapl atau hwmon] ::: Hardware -> | CPU/DRAM/Paket Kekuatan | PWR [Bacaan Daya Perangkat Keras] ::: Perangkat Keras
H2 [NVIDIA/INTEL GPU API] ::: Hardware -> | GPU Power | PWR
H3 [Redfish atau ACPI Power Meter] ::: Hardware -> | Platform Power | PWR
akhir
Subgraph EM [Metrik Estimator]
arah bt
E1 [Fitur ML: Waktu CPU] ::: Estimator -> | CPU/DRAM/Paket Kekuatan | PWR
E2 [Fitur ML: Waktu CPU] ::: Estimator -> | Platform Power | PWR
akhir
Om -> | Baca data peta | peta [pemetaan aktivitas] ::: pemetaan
Info -> peta
Peta -> | Peta melalui ID PID/CGROUP | Calc [Energy Calculator] ::: Calculator
Pwr -> calc
akhir
Subgraph PM [Model Daya]
arah bt
Calc -> | Rasio Aktivitas Proses | Attr [Idle dan Dinamis Energy Attribution] ::: Atribution
Attr -> | per proses/wadah/vm | exp [metrik energi] ::: atribusi
akhir
Exp -> prom [prometheus ekspor] ::: ekspor
Kelas KL Kernellevel
Class Up Userspace
Kelas RC Resourcollection
Kelas HM Hardwaremetrics
Perkiraan Kelas EM
Kelas PM PowerModel
Instruksi untuk menginstal Kepler dapat ditemukan di dokumen Kepler.
Untuk memvisualisasikan metrik konsumsi daya yang disediakan oleh eksportir Kepler, impor dashboard Kepler yang telah dihasilkan ke dalam grafana:
Tertarik berkontribusi pada Kepler? Ikuti Panduan Kontribusi untuk Memulai!
Daftar lengkap pembicaraan dan demo tentang Kepler dapat ditemukan di sini.
Silakan bergabung dengan pertemuan komunitas dua mingguan. Kalender dan agenda pertemuan dapat ditemukan di sini
Dengan pengecualian kode EBPF, semuanya didistribusikan berdasarkan ketentuan lisensi Apache (versi 2.0).
Semua kode EBPF didistribusikan di bawah:
Teks lisensi yang tepat bervariasi berdasarkan file. Silakan lihat header SPDX-License-Identifier di setiap file untuk detailnya.
File yang berasal dari penulis Penggunaan Kepler (GPL-2.0-Hanya atau BSD-2-Clause). File yang dihasilkan dari kernel linux yaitu vmlinux.h Gunakan gpl-2.0-only.
Kecuali jika Anda secara eksplisit menyatakan sebaliknya, setiap kontribusi yang secara sengaja diserahkan untuk dimasukkan dalam proyek ini oleh Anda, sebagaimana didefinisikan dalam lisensi GPL-2, harus dilisensikan ganda seperti di atas, tanpa syarat atau ketentuan tambahan.