클라우드와 컨테이너의 기초
Kubernetes에서 컨테이너에 설정하는 자원의 requests와 limits의 설명으로 올바른 것은?
- A노드 선택에는 requests가 사용되고, 메모리가 limits를 넘으면 강제 종료될 수 있으며, CPU는 limits까지로 억제된다
- B스케줄러는 limits의 합계가 노드의 자원 안에 들어가도록 Pod를 배치하고, CPU 사용량이 requests를 넘은 컨테이너는 강제 종료된다
- Crequests는 컨테이너가 사용할 수 있는 상한이며, 사용량이 requests를 넘으면 메모리든 CPU든 컨테이너는 즉시 강제 종료된다
정답과 해설 보기
정답: A. 노드 선택에는 requests가 사용되고, 메모리가 limits를 넘으면 강제 종료될 수 있으며, CPU는 limits까지로 억제된다
requests는 컨테이너가 확보해 두고 싶은 자원의 양이며, 스케줄러는 노드에 놓인 Pod들의 requests 합계가 노드의 할당 가능한 양을 넘지 않도록 Pod를 둘 노드를 고릅니다. limits는 사용량의 상한입니다. CPU는 시간으로 나누어 쓸 수 있는 자원이므로, limits를 넘으려 하면 사용이 억제되고(스로틀링) 처리가 느려집니다. 메모리는 되돌려 받기가 어려우므로, limits를 넘어 사용하려 한 컨테이너는 메모리 부족으로 강제 종료(OOMKilled)될 수 있습니다.