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

Kubernetes 클러스터에서 하나의 호스트 이름으로 도착한 HTTPS 요청 중 경로가 /api로 시작하는 것은 api의 Service로, 그 밖의 것은 web의 Service로 분배하고 싶다. 이 분배 규칙을 정하는 데 적합한 리소스는?

  1. AIngress
  2. BReplicaSet
  3. Ctype: ClusterIP인 Service
정답과 해설 보기

정답: A. Ingress

Ingress는 호스트 이름이나 URL 경로에 따라, 클러스터 밖에서 온 HTTP나 HTTPS 요청을 각 Service에 분배하는 규칙을 정하는 리소스이며, TLS 종단도 여기서 설정할 수 있습니다. 실제로 요청을 받아 분배하는 것은 클러스터에 도입한 Ingress 컨트롤러(리버스 프록시로 동작하는 것)입니다. type: ClusterIP인 Service는 클러스터 안에서만 사용할 수 있는 접속 대상으로, 경로로 분배하는 기능은 없습니다. ReplicaSet은 Pod의 수를 유지하기 위한 것으로, 통신의 분배와는 관계가 없습니다.

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

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

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