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

resources:
  requests:
    cpu: 500m
  limits:
    cpu: 1000m

Pod의 컨테이너에 위의 설정을 한 Deployment에서 Pod가 4개 동작하고 있으며, 모든 Pod가 CPU를 400m(0.4코어)씩 사용하고 있다. HorizontalPodAutoscaler의 CPU 사용률 목표를 60%로 하고, 필요한 Pod의 수는 ⌈현재 수 × 현재 사용률 ÷ 목표 사용률⌉로 구한다고 하자. 필요한 Pod의 수로 올바른 것은?

  1. A3개
  2. B5개
  3. C6개
정답과 해설 보기

정답: C. 6개

HorizontalPodAutoscaler가 사용하는 CPU 사용률은 limits가 아니라 requests에 대한 비율입니다. 각 Pod는 400m ÷ 500m = 80%를 사용하고 있으므로, 필요한 수는 4 × 80 ÷ 60 = 5.33…을 올림하여 6개입니다. 6개로 늘어나면 전체 사용량 400m × 4 = 1,600m를 나누어 가져 하나당 약 267m, 사용률은 약 53%가 되어 목표를 밑돕니다. requests를 설정하지 않으면 CPU 사용률을 기준으로 한 자동 스케일링은 작동하지 않습니다.

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

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

  1. Kubernetes에서 컨테이너에 설정하는 자원의 requests와 limits의 설명으로 올바른 것은?
  2. 할당 가능한 자원이 CPU 4코어, 메모리 8 GiB인 노드가 있다. 각 Pod의 컨테이너에는 requests로 CPU 500m·메모리 1.5 GiB, limits로 CPU 1코어·메모리 2 GiB를 설정했다. 다른 Pod나 시스템 예약은 없다고 하자. 이 노드에 둘 수 있는 Pod의 최대 수로 올바른 것은?
  3. 클라우드의 관리형 데이터베이스 서비스(사업자가 데이터베이스 소프트웨어를 운용하는 서비스)를 사용한다. 공동 책임 모델의 관점에서 일반적으로 이용자의 책임으로 남는 것은?
  4. 클라우드에서 같은 리전 안의 여러 가용 영역에 웹 서버와 데이터베이스의 복제본을 나누어 두는 주된 목적으로 적절한 것은?
  5. 서버리스 함수(FaaS)에서, 한동안 호출되지 않았던 함수의 첫 호출만 응답이 수백 밀리초에서 수 초 늦어지는 경우가 있다. 이 현상의 설명으로 올바른 것은?