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

Kubernetes에서 Pod는 다시 만들어질 때마다 IP 주소가 바뀐다. 다른 애플리케이션이 라벨로 고른 여러 Pod에, 바뀌지 않는 이름과 주소로 접속하여 부하를 분산할 수 있게 하는 리소스는?

  1. AConfigMap
  2. BService
  3. CPersistentVolume
정답과 해설 보기

정답: B. Service

Service는 라벨 셀렉터에 일치하는 Pod의 집합에 클러스터 안에서 바뀌지 않는 가상 IP 주소와 DNS 이름을 부여하고, 도착한 통신을 그 Pod들에 분배합니다. Pod가 교체되어도 Service의 이름으로 접속하면 되므로, 접속하는 쪽은 Pod의 주소를 알 필요가 없습니다. 클러스터 밖에 공개할 때는 type을 NodePort나 LoadBalancer로 하거나 Ingress를 사용합니다. ConfigMap은 설정값을, PersistentVolume은 영구적인 저장 영역을 다루는 리소스입니다.

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

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

  1. Kubernetes 클러스터에서 하나의 호스트 이름으로 도착한 HTTPS 요청 중 경로가 /api로 시작하는 것은 api의 Service로, 그 밖의 것은 web의 Service로 분배하고 싶다. 이 분배 규칙을 정하는 데 적합한 리소스는?
  2. Kubernetes의 Secret에 데이터베이스의 비밀번호를 저장한다. Secret의 설명으로 올바른 것은?
  3. 어떤 웹 애플리케이션은 시작한 뒤 캐시를 읽어 들일 때까지의 약 60초 동안은 요청을 처리할 수 없고, 그동안은 /ready에 503을 반환한다. Pod의 컨테이너에 위의 설정을 추가했을 때의 효과로 올바른 것은?
  4. Kubernetes의 웹 애플리케이션에서, liveness 프로브의 확인 처리 안에서 의존 대상인 데이터베이스에 접속할 수 있는지까지 조사하도록 했다. 이 설정으로 일어날 수 있는 문제로 가장 적절한 것은?
  5. Kubernetes의 HorizontalPodAutoscaler에서 Pod의 CPU 사용률 목표를 70%, Pod 수의 범위를 1~10으로 했다. 현재 5개 Pod의 평균 CPU 사용률이 30%이다. 필요한 Pod의 수를 ⌈현재 수 × 현재 사용률 ÷ 목표 사용률⌉(⌈ ⌉은 올림)로 구할 때, 필요한 Pod의 수로 올바른 것은?