
데브옵스
Kubernetes Pod Resources: CPU Limit
두줄요약
Kubernetes에서 CPU Limit이 응답 지연을 유발하는지 검증하기 위해 다양한 테스트를 진행했습니다. 일부 워크로드에서는 Limit 해제가 지표와 응답성을 개선했습니다.
문제 상황
- Kubernetes(EKS)에서 운영 중인 image 서비스에 순간 트래픽이 몰리며 응답 지연과 다른 서비스 영향이 발생
- 노드와 이웃 Pod의 CPU 여유가 있었지만 Pod의 CPU Limit 때문에 이를 충분히 활용하지 못하는 현상 확인
원인 분석
- CPU Limit이 걸린 상태에서 image Pod가 노드의 남는 CPU를 온전히 쓰지 못해 처리 지연이 누적
- CPU Request가 없는 BestEffort Pod는 CPU Share 기본값이 낮아 경쟁 상황에서 불리할 수 있음
해결 방법
- Limit 유무와 Request/Share 조합별로 6가지 테스트를 수행해 노드, Pod, 응답 지표를 비교
- image Pod에 한해 CPU Limit을 해제하고 Production에 일부 적용해 순간 요청 급증 대응을 완화
성능/운영 포인트
- CPU Limit 해제 시 노드 상태나 kubelet에 악영향 없이 여유 CPU를 활용 가능
- CPU Request가 적절히 정의된 환경에서는 Limit 없이도 다른 Pod를 굶기지 않는 경향 확인
- 응답 속도 P99와 CPU Throttling 개선, 트래픽 급증 시 처리 안정성 향상
