requests 와 limits 는 서로 다른 일을 한다
requests 는 스케줄러가 노드에 자리를 잡을 때 쓰는 예약량이고, limits 는 실행 중 넘지 못하는 상한입니다. 그래서 둘을 어떻게 적느냐에 따라 파드의 QoS 클래스가 Guaranteed, Burstable, BestEffort 로 갈립니다. 값을 넣으면 어느 클래스가 되는지와 그 근거를 함께 보여 줍니다. limits 만 적으면 requests 가 같은 값으로 채워집니다.
초과했을 때 벌어지는 일도 자원마다 다릅니다. CPU 는 상한을 넘으면 스로틀링으로 느려지고 프로세스는 살아 있지만, 메모리는 넘는 순간 OOMKill 로 종료됩니다. 배치 가능 여부는 limits 가 아니라 requests 합계와 노드의 할당 가능량으로 계산했습니다(쿠버네티스 공식 문서 기준, 2026년 10월 확인).
권장 수치는 제시하지 않습니다. 적정값은 워크로드와 트래픽에 달려 있어 공인된 권장값이 없기 때문입니다. 실제 사용량은 모니터링으로 재서 넣으세요. LimitRange, 수직 오토스케일링, 테인트·어피니티, 데몬셋 몫은 반영하지 않습니다.
자주 묻는 질문
CPU 와 메모리 limits 를 모두 적고 requests 를 비우면 requests 가 limits 와 같은 값으로 채워져 Guaranteed 가 됩니다. 한쪽만 적으면 Burstable 입니다.
CPU 는 시간을 나눠 쓸 수 있는 자원이라 상한을 넘으면 스로틀링으로 느려지기만 합니다. 메모리는 이미 쓴 양을 되돌릴 수 없어 상한을 넘는 순간 OOMKill 로 컨테이너를 종료합니다.
스케줄러는 limits 를 보지 않고 requests 합계가 노드의 할당 가능량을 넘지 않는지만 확인합니다. 그래서 limits 합계가 노드 용량을 넘어도 배치는 되고, 모두 한계까지 쓰는 순간 모자랍니다.