metallb: raise controller mem limit 64Mi→256Mi (OOM fix)
This commit is contained in:
42
history/2026-04-20-metallb-controller-oom-fix.md
Normal file
42
history/2026-04-20-metallb-controller-oom-fix.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: MetalLB controller OOMKilled 수정 (limit 상향)
|
||||
date: 2026-04-20
|
||||
tags: [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 리소스 상향:
|
||||
|
||||
```bash
|
||||
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|history]] 참고.
|
||||
|
||||
## 정본 링크
|
||||
|
||||
- [[metallb|infra/network/metallb]]
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: MetalLB (K3s LoadBalancer)
|
||||
updated: 2026-03-26
|
||||
updated: 2026-04-20
|
||||
tags: [infra, k3s, metallb, networking]
|
||||
---
|
||||
|
||||
@@ -21,6 +21,15 @@ K3s 내장 ServiceLB(Klipper)는 비활성화 (`--disable servicelb`, kr2/kr1 co
|
||||
| Speaker | DaemonSet (노드당 1개, 3개) |
|
||||
| Controller | Deployment (1개) |
|
||||
|
||||
## 리소스 설정
|
||||
|
||||
| 컴포넌트 | requests mem | limits mem |
|
||||
|---------|-------------|-----------|
|
||||
| controller | 128Mi | 256Mi |
|
||||
| speaker | 128Mi | 256Mi |
|
||||
|
||||
controller는 cert-rotation · webhook 서버 때문에 기본 limit(64Mi)으로는 OOM 발생. speaker와 동일 수준으로 맞춤. 이력: [[2026-04-20-metallb-controller-oom-fix|history]]
|
||||
|
||||
## IP 할당 현황
|
||||
|
||||
| IP | Service | Namespace | Port |
|
||||
|
||||
Reference in New Issue
Block a user