Kepler (ผู้ส่งออกระดับพลังงานที่มีประสิทธิภาพของ Kubernetes) ใช้ EBPF ในการตรวจสอบสถิติระบบที่เกี่ยวข้องกับพลังงานและส่งออกเป็นตัวชี้วัด Prometheus
ในฐานะโครงการ CNCF Sandbox, Kepler ใช้รหัสดำเนินการ CNCF
ผู้ส่งออกเคปเลอร์เปิดเผยตัวชี้วัดที่หลากหลายเกี่ยวกับการใช้พลังงานของส่วนประกอบ Kubernetes เช่นฝักและโหนด
ผังงาน BT
เคอร์เนล classdef fill:#e6f3ff, stroke:#4a90e2, สี:#000
classdef collector fill:#f0fff0, stroke:#2ECC71, สี:#000
การเติมฮาร์ดแวร์ classdef:#fff0f5, stroke:#e74c3c, สี:#000
ตัวประมาณค่า classdef เติม:#fff5e6, stroke:#f39c12, สี:#000
การทำแผนที่ classdef fill:#f5f0ff, stroke:#9b59b6, สี:#000
เครื่องคิดเลข classdef fill:#f0f5ff, stroke:#3498db, สี:#000
การเติมแหล่งที่มาของ classdef:#fff0f0, stroke:#e74c3c, สี:#000
การส่งออก classdef:#f5fff0, stroke:#27AE60, สี:#000
classdef kernellevel fill:#e6f3ff, stroke:#999, สี:#000
classdef userspace fill:#f5f5f5, stroke:#999, สี:#000
classdef resourceCollection fill:#f0fff0, stroke:#999, สี:#000
classdef hardwaremetrics เติม:#fff0f5, stroke:#999, สี:#000
classdef ementatormetrics เติม:#fff5e6, stroke:#999, สี:#000
classdef powermodel fill:#f0f0ff, stroke:#999, สี:#000
Subgraph KL [ระดับเคอร์เนล]
ทิศทาง bt
tp [เคอร์เนล tracepoint] ::: เคอร์เนล -> EBPF [โปรแกรม Kepler EBPF] ::: เคอร์เนล
EBPF -> | สถิติตัวนับประสิทธิภาพ | OM [แผนที่เอาท์พุท] ::: เคอร์เนล
จบ
Subgraph Up [โปรแกรมผู้ใช้สเปซ]
ทิศทาง bt
Subgraph RC [การรวบรวมข้อมูลทรัพยากร]
ทิศทาง bt
P1 [ตัวรวบรวมข้อมูลกระบวนการ] ::: Collector -> | PID, ชื่อ | ข้อมูล [กระบวนการ/คอนเทนเนอร์/ข้อมูล VM] ::: Collector
C1 [Container Info Collector] ::: Collector -> | ID คอนเทนเนอร์/POD, เนมสเปซ | ข้อมูล
V1 [VM Info Collector] ::: Collector -> | VM ID | ข้อมูล
จบ
Subgraph HM [ตัวชี้วัดฮาร์ดแวร์]
ทิศทาง bt
H1 [rapl หรือ hwmon] ::: ฮาร์ดแวร์ -> | CPU/DRAM/PAPPORK POWER | PWR [การอ่านพลังงานฮาร์ดแวร์] ::: ฮาร์ดแวร์
H2 [NVIDIA/Intel GPU API] ::: ฮาร์ดแวร์ -> | พลัง GPU | PWR
H3 [Redfish หรือ ACPI Power Meter] ::: ฮาร์ดแวร์ -> | แพลตฟอร์มพลังงาน | PWR
จบ
Subgraph EM [ตัวชี้วัดตัวประมาณ]
ทิศทาง bt
E1 [คุณสมบัติ ML: เวลา CPU] ::: Emitator -> | CPU/DRAM/PAPPORK POWER | PWR
E2 [คุณสมบัติ ML: เวลา CPU] ::: Emitator -> | Platform Power | PWR
จบ
om -> | อ่านแผนที่ข้อมูล | แผนที่ [การแมปกิจกรรม] ::: การแมป
ข้อมูล -> แผนที่
แผนที่ -> | แผนที่ผ่าน PID/CGROUP ID | calc [เครื่องคิดเลขพลังงาน] ::: เครื่องคิดเลข
pwr -> calc
จบ
Subgraph PM [โมเดลพลังงาน]
ทิศทาง bt
calc -> | อัตราส่วนกิจกรรมกระบวนการ | attr [indle และการระบุแหล่งพลังงานแบบไดนามิก] ::: แหล่งที่มา
attr -> | ต่อกระบวนการ/คอนเทนเนอร์/vm | exp [ตัวชี้วัดพลังงาน] ::: แหล่งที่มา
จบ
Exp -> Prom [Prometheus Export] ::: Export
คลาส KL Kernellevel
คลาส Uperpace
คลาส RC ResourceCollection
คลาส HM Hardwaremetrics
คลาส EM EMSOTERMETRICS
Class PM Powermodel
คำแนะนำในการติดตั้งเคปเลอร์สามารถพบได้ในเอกสาร Kepler
ในการแสดงภาพตัวชี้วัดการใช้พลังงานที่จัดทำโดยผู้ส่งออกเคปเลอร์นำเข้าแดชบอร์ดเคปเลอร์ที่สร้างไว้ล่วงหน้าลงใน Grafana:
สนใจที่จะมีส่วนร่วมกับเคปเลอร์? ทำตามคู่มือการสนับสนุนเพื่อเริ่มต้น!
รายการการเจรจาและการสาธิตทั้งหมดเกี่ยวกับเคปเลอร์สามารถพบได้ที่นี่
โปรดเข้าร่วมการประชุมชุมชนทุกสองสัปดาห์ ปฏิทินการประชุมและวาระการประชุมสามารถพบได้ที่นี่
ยกเว้นรหัส EBPF ทุกอย่างจะถูกแจกจ่ายภายใต้ข้อกำหนดของใบอนุญาต Apache (เวอร์ชัน 2.0)
รหัส EBPF ทั้งหมดมีการแจกจ่ายภายใต้:
ข้อความใบอนุญาตที่แน่นอนแตกต่างกันไปตามไฟล์ โปรดดูส่วนหัว spdx-license-identifier ในแต่ละไฟล์สำหรับรายละเอียด
ไฟล์ที่มาจากผู้แต่งการใช้เคปเลอร์ (GPL-2.0-only หรือ BSD-2-clause) ไฟล์ที่สร้างขึ้นจากเคอร์เนล Linux เช่น vmlinux.h ใช้ GPL-2.0-only
หากคุณไม่ได้ระบุอย่างชัดเจนการบริจาคใด ๆ ที่ส่งโดยเจตนาเพื่อรวมไว้ในโครงการนี้โดยคุณตามที่กำหนดไว้ในใบอนุญาต GPL-2 จะได้รับใบอนุญาตคู่ดังกล่าวข้างต้นโดยไม่มีข้อกำหนดหรือเงื่อนไขเพิ่มเติมใด ๆ