피드로 돌아가기
InfoQInfoQ
DevOps

Helm Chart v4 전환을 통한 대규모 K8s 모니터링 구조 최적화 및 메모리 누수 해결

Grafana's Kubernetes Monitoring Helm Chart v4 Brings Multiple Fixes

Matt Saunders2026년 5월 6일5intermediate

Context

버전 3의 List 기반 설정 구조로 인한 GitOps 환경 내 설정 오버라이드 오류 및 의도치 않은 서비스 중복 배포 문제 발생. Alloy 인스턴스에서 모든 Pod 레이블을 일괄 처리하는 비효율적 파이프라인으로 인한 메모리 부하 가중.

Technical Solution

  • Destination 설정을 List에서 Map 구조로 변경하여 인덱스 기반 참조 오류 제거 및 안정적인 Key 기반 설정 가능
  • 하드코딩된 Collector 명칭을 제거하고 Map 기반의 Preset 정의 방식을 도입하여 배포 형태와 기능 할당의 명시성 확보
  • TelemetryServices 키를 분리하여 백엔드 서비스 배포를 명시적 단계로 전환함으로써 중복 배포 방지
  • 단일 ClusterMetrics 블록을 Cluster, Host, CostMetrics로 세분화하여 설정 책임 분리 및 옵션 가시성 향상
  • Log 파이프라인에서 labelsToKeep 필터링 방식을 버리고 명시적 레이블 선언 방식으로 변경하여 불필요한 메모리 할당 제거

- GitOps 환경에서 설정 값의 순서 변경으로 인한 Side Effect 방지를 위해 List보다 Map 기반 구조 채택 검토 - 대규모 로그 처리 시 모든 메타데이터를 수집 후 필터링하는 대신, 필요한 데이터만 명시적으로 추출하는 Opt-in 방식 적용 - 인프라 차트 설계 시 기능 활성화와 서비스 배포 로직을 분리하여 기존 인프라 자원과의 충돌 가능성 차단

원문 읽기