[Loki] Helm 차트 Memcached CPU 리소스 오버라이드 지원 추가
PR 링크: grafana/loki#20767 상태: Merged | 변경: +35 / -1
들어가며
Grafana Loki Helm 차트에는 allocatedMemory 값을 설정하면 Memcached 애플리케이션 설정과 Pod 메모리 request를 자동으로 계산해주는 모드가 있습니다. 그런데 이 모드에서 CPU request는 항상 500m으로 하드코딩되어 있어, 환경에 맞게 조절할 수 없었습니다. resources 블록 전체를 오버라이드하면 가능하지만, 메모리에 대한 1.2배 헤드룸 계산 로직까지 잃게 됩니다.
핵심 코드 분석
allocatedCPU 설정 추가
Before (memcached-statefulset.tpl):
resources:
limits:
memory: {{ $requestMemory }}Mi
requests:
cpu: 500m
memory: {{ $requestMemory }}Mi
After:
resources:
limits:
memory: {{ $requestMemory }}Mi
requests:
cpu: {{ .allocatedCPU }}
memory: {{ $requestMemory }}Mi
values.yaml 기본값:
chunksCache:
allocatedMemory: 8192
allocatedCPU: 500m # 신규 추가
resultsCache:
allocatedMemory: 1024
allocatedCPU: 500m # 신규 추가
왜 이게 좋은가
- 세밀한 리소스 제어: 메모리 자동 계산의 이점을 유지하면서 CPU만 별도로 조절할 수 있습니다.
- 하위 호환성 유지: 기본값이 기존과 동일한 500m이므로, 업그레이드 시 동작 변경이 없습니다.
- 비용 최적화: Memcached는 주로 메모리 바운드이므로, CPU를 낮추면 노드 패킹 효율을 높여 인프라 비용을 절감할 수 있습니다.
- 3개 캐시 모두 지원: chunksCache, chunksCache.l2, resultsCache 모두
allocatedCPU를 지원합니다.
참고 자료
관련 포스트
PR Analysis 의 다른글
- 이전글 [Ray] concat_tables의 Happy Path를 최적화하여 동일 스키마 테이블 연결 가속화
- 현재글 : [Loki] Helm 차트 Memcached CPU 리소스 오버라이드 지원 추가
- 다음글 [PyTorch] Inductor MPS Metal 셰이더 half-precision 타입 불일치 수정
댓글