CNCF Kepler, 처음부터 재설계: 커널 권한 없이 Kubernetes 파드의 정밀한 전력 측정
CNCF 샌드박스 프로젝트 Kepler가 완전히 재작성되었습니다: 새 아키텍처가 eBPF 접근법을 표준 /proc 및 /sys 경로 읽기로 대체하여 다킬로와트 측정 급증을 제거하고 프로세스 전력 귀속 격차를 밀리와트 수준으로 줄입니다.
이 기사는 AI가 1차 출처를 기반으로 생성했습니다.
Kepler(Kubernetes 기반 효율적 전력 레벨 내보내기), 2023년부터 Kubernetes 클러스터에서 에너지 소비를 측정하는 CNCF 샌드박스 프로젝트가 완전히 새로운 아키텍처를 받았습니다. 팀이 재작성의 상세한 기술적 근거, 실험 결과 및 커뮤니티 협력 요청을 발표했습니다 — 에너지 소비가 점점 더 중요한 메트릭이 되는 AI 및 ML 워크로드를 운영하는 조직에 특히 관련이 있습니다.
Kubernetes가 에너지 소비에 대해 맹목적인 이유는 무엇입니까?
Kubernetes는 개별 파드나 워크로드가 얼마나 많은 에너지를 소비하는지 추적하는 어떤 메커니즘도 네이티브로 제공하지 않습니다. 클러스터 관리자는 CPU와 메모리 소비는 볼 수 있지만 와트는 볼 수 없습니다 — 조직이 탄소 발자국을 추적하고, 에너지 비용을 최적화하거나 ESG 보고 요구사항을 충족하려 할 때 문제가 됩니다. Kepler는 그 공백을 채웁니다: 하드웨어 전력 측정기를 읽고, 소비를 개별 Linux 프로세스와 파드에 귀속시키며, 결과를 Prometheus 메트릭으로 내보냅니다.
구 아키텍처와 그 문제점
원래 Kepler는 활용도 신호를 캡처하기 위해 eBPF(확장 Berkeley 패킷 필터)에 의존했습니다. 이 접근법은 프로덕션 환경에서 몇 가지 심각한 제한 사항이 있었습니다:
CAP_BPF 및 CAP_SYSADMIN 권한을 요구했습니다 — 많은 보안 팀이 표준 모니터링 도구에 허용하지 않는 것입니다. 프로덕션 Kubernetes 클러스터는 종종 엄격한 컨테이너 권한 정책을 가지므로 Kepler는 배포 단계에서 이미 차단되었습니다.
eBPF 접근법은 커널 프로브가 기록하기 전에 완료된 단기 프로세스를 놓쳤습니다. 짧은 배치 작업을 집중적으로 사용하는 AI/ML 워크로드에서 이 부정확성이 누적될 수 있었습니다.
가장 눈에 띄는 증상은 측정에서 다킬로와트 급증의 출현이었습니다 — 실제 물리적 소비를 반영하지 않고 메트릭과 대시보드를 오염시키는 구현 아티팩트.
커널 권한 없는 새 아키텍처
새 아키텍처와 정밀도 향상
새 Kepler는 eBPF를 완전히 포기했습니다. 대신 Linux 커널이 모든 프로세스에 노출하는 표준 /proc 및 /sys 경로를 읽습니다 — 커널 권한 없이. 접근 방식은 읽기 전용입니다: Kepler는 커널에 쓰거나 코드를 주입하지 않습니다.
핵심 혁신은 런타임에 전력 측정기 구조의 동적 감지입니다. 구 아키텍처는 고정된 하드웨어 토폴로지를 가정했으며, 이는 DRAM, 소켓 및 패키지 레벨의 다양한 구성을 가진 서버에서 오류를 일으켰습니다. 새 버전은 시작 시 /sys에서 구조를 읽고 수동 구성 없이 적응합니다.
배포가 하나의 Helm 차트로 단순화되어 학습 곡선과 구성 가능한 파라미터 수를 크게 줄였습니다.
실험 결과
팀은 새 아키텍처를 검증하기 위해 두 가지 핵심 실험을 수행했습니다:
실험 1은 새 kepler_node_cpu_watts를 IPMI 그라운드 트루스 측정(서버 하드웨어의 물리적 센서)과 비교했습니다. 결과: 새 메트릭이 구 구현의 특징이었던 다킬로와트 급증 없이 IPMI 패턴을 따릅니다.
실험 2는 프로세스 수준의 전력 귀속 격차를 측정했습니다 — 모든 프로세스의 귀속된 전력 합계와 노드의 전체 측정된 전력 사이의 차이. 격차가 밀리와트 수준으로 줄었습니다(이전처럼 와트나 킬로와트가 아닌), 새 아키텍처가 전체 소비를 일관되게 분배함을 확인했습니다.
테스트 커버리지는 **90%**에 달했으며, 이는 이 유형의 인프라 도구에 높은 수준입니다.
커뮤니티에 대한 요청
Kepler 팀은 기여를 구하는 네 가지 영역을 명시합니다:
AI/ML 워크로드를 위한 GPU 모니터링은 해결되지 않은 문제로 남아 있습니다 — 현재 아키텍처는 CPU를 다루지만 파드별 GPU 전력 귀속은 NVIDIA와 AMD가 메트릭을 노출하는 방식 때문에 더 복잡합니다. 이는 Kubernetes에서 LLM 추론이나 훈련을 운영하는 조직에 특히 관련이 있습니다.
VM 환경을 위한 전력 모델링은 가상화 레이어가 물리적 측정기를 숨기기 때문에 ML 접근법을 요구합니다. 팀은 전력 추정 모델을 훈련할 수 있는 전문가를 구합니다.
물리적 측정기(IPMI, 외부 전력 측정기)에 대한 검증 및 유휴 전력 귀속 개선은 두 가지 추가 열린 문제입니다.
이미 AI 인프라의 에너지 소비를 측정하고 있는 조직의 경우, 새 버전의 Kepler는 클러스터 보안 정책의 타협 없이 기존 Prometheus/Grafana 스택에 통합하기 위한 더 안정적인 기반을 제공합니다.
자주 묻는 질문
- Kepler는 무엇이며 무엇에 사용됩니까?
- Kepler는 Kubernetes 클러스터에서 에너지 소비를 측정하고 개별 Linux 프로세스와 파드에 귀속시키며 결과를 Prometheus 메트릭으로 내보내는 CNCF 샌드박스 프로젝트입니다. AI 및 ML 워크로드의 에너지 소비를 추적하는 주요 도구입니다.
- 구 아키텍처의 주요 문제는 무엇이며 새 아키텍처는 이를 어떻게 해결합니까?
- 구 아키텍처는 eBPF를 사용하고 CAP_BPF 및 CAP_SYSADMIN 권한을 요구하며 단기 프로세스를 놓치고 다킬로와트 측정 급증을 일으켰습니다. 새 아키텍처는 표준 /proc 및 /sys 경로를 읽고, 읽기 전용으로 작동하며, 전력 측정기 구조를 동적으로 감지하고 커널 권한을 요구하지 않습니다.
- 새 아키텍처의 실험 결과는 어떻습니까?
- 새 kepler_node_cpu_watts가 다킬로와트 급증 없이 IPMI 그라운드 트루스를 추적하며, 프로세스 전력 귀속 격차가 밀리와트 수준으로 줄었습니다. 테스트 커버리지는 90%에 달했습니다.