Files
obsidian/history/2026-04-20-metallb-controller-oom-fix.md

1.4 KiB

title, date, tags
title date tags
MetalLB controller OOMKilled 수정 (limit 상향) 2026-04-20
history
metallb
k3s
oom

현상

metallb-controller-685b4dc4d8-jzxwj 파드가 15시간 동안 5회 재시작. describe로 확인한 이전 종료 상태가 OOMKilled / Exit 137.

근본원인

  • controller limit: 64Mi (helm 기본값)
  • 실사용: 62Mi (평상시만으로도 이미 한계)
  • cert-rotation · webhook 서버 · reconcile 시 메모리 spike → OOM

metallb v0.15는 cert-controller와 webhook server가 controller 프로세스 안에서 실행되어 기본 64Mi로는 부족. speaker는 이미 256Mi/128Mi였는데 controller만 1/4 수준이었음.

조치

helm upgrade --reuse-values로 controller 리소스 상향:

helm upgrade metallb metallb/metallb -n metallb-system --reuse-values \
  --set controller.resources.limits.memory=256Mi \
  --set controller.resources.requests.memory=128Mi

결과:

  • revision 3으로 배포
  • 새 파드 metallb-controller-6c846cbc7-gpz7q Running
  • 적용된 resources: limits.memory=256Mi, requests.memory=128Mi
  • 재시작 0회로 안정

교훈

helm 기본 resources가 운영 환경에서 부족한 경우가 흔함. 설치 시점에 반드시 기본값 리뷰 필요. 이번 외에도 chart 기본값으로 영구화가 안 돼 있던 건들은 2026-04-19-k3s-resource-requests 참고.

정본 링크