클라우드와 컨테이너의 기초

Kubernetes에서 컨테이너에 설정하는 자원의 requests와 limits의 설명으로 올바른 것은?

  1. A노드 선택에는 requests가 사용되고, 메모리가 limits를 넘으면 강제 종료될 수 있으며, CPU는 limits까지로 억제된다
  2. B스케줄러는 limits의 합계가 노드의 자원 안에 들어가도록 Pod를 배치하고, CPU 사용량이 requests를 넘은 컨테이너는 강제 종료된다
  3. Crequests는 컨테이너가 사용할 수 있는 상한이며, 사용량이 requests를 넘으면 메모리든 CPU든 컨테이너는 즉시 강제 종료된다
정답과 해설 보기

정답: A. 노드 선택에는 requests가 사용되고, 메모리가 limits를 넘으면 강제 종료될 수 있으며, CPU는 limits까지로 억제된다

requests는 컨테이너가 확보해 두고 싶은 자원의 양이며, 스케줄러는 노드에 놓인 Pod들의 requests 합계가 노드의 할당 가능한 양을 넘지 않도록 Pod를 둘 노드를 고릅니다. limits는 사용량의 상한입니다. CPU는 시간으로 나누어 쓸 수 있는 자원이므로, limits를 넘으려 하면 사용이 억제되고(스로틀링) 처리가 느려집니다. 메모리는 되돌려 받기가 어려우므로, limits를 넘어 사용하려 한 컨테이너는 메모리 부족으로 강제 종료(OOMKilled)될 수 있습니다.

이 분야 연습하기 분야로 돌아가기

클라우드와 컨테이너의 기초의 다른 문제

  1. 할당 가능한 자원이 CPU 4코어, 메모리 8 GiB인 노드가 있다. 각 Pod의 컨테이너에는 requests로 CPU 500m·메모리 1.5 GiB, limits로 CPU 1코어·메모리 2 GiB를 설정했다. 다른 Pod나 시스템 예약은 없다고 하자. 이 노드에 둘 수 있는 Pod의 최대 수로 올바른 것은?
  2. 클라우드의 관리형 데이터베이스 서비스(사업자가 데이터베이스 소프트웨어를 운용하는 서비스)를 사용한다. 공동 책임 모델의 관점에서 일반적으로 이용자의 책임으로 남는 것은?
  3. 클라우드에서 같은 리전 안의 여러 가용 영역에 웹 서버와 데이터베이스의 복제본을 나누어 두는 주된 목적으로 적절한 것은?
  4. 서버리스 함수(FaaS)에서, 한동안 호출되지 않았던 함수의 첫 호출만 응답이 수백 밀리초에서 수 초 늦어지는 경우가 있다. 이 현상의 설명으로 올바른 것은?
  5. 클라우드 스토리지를 ① 가상 머신에 디스크로 연결하여 파일 시스템을 만들고 데이터베이스의 데이터 파일을 둔다, ② 여러 서버에서 동시에 마운트하여 공유 디렉터리로 사용한다, ③ HTTP의 API로 키(이름)를 지정하여 대량의 이미지를 읽고 쓰며, 용량을 미리 정하지 않고 늘린다는 세 가지 용도로 사용한다. ①~③에 적합한 스토리지 종류의 조합으로 적절한 것은?