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

Kubernetes에서 replicas: 3을 지정한 Deployment의 Pod가 3개 동작하고 있다. 이 중 하나의 Pod를 kubectl delete pod로 삭제했을 때 일어나는 일로 올바른 것은?

  1. ADeployment의 설정도 replicas: 2로 바뀌고, Pod는 2개인 채로 계속 동작한다
  2. B실제 개수가 지정한 3에 못 미치게 된 것을 컨트롤러가 감지하고 새 Pod를 하나 만든다
  3. CDeployment에 속한 나머지 2개의 Pod도 삭제되어 Deployment 전체가 정지한다
정답과 해설 보기

정답: B. 실제 개수가 지정한 3에 못 미치게 된 것을 컨트롤러가 감지하고 새 Pod를 하나 만든다

Kubernetes에서는 이용자가 'Pod를 3개 실행한다'는 바람직한 상태를 선언하고, 컨트롤러가 실제 상태를 반복해서 관찰하여 차이가 있으면 선언에 가까워지도록 조작합니다(조정, reconcile). Pod를 하나 삭제하면 실제 개수가 2가 되므로, ReplicaSet의 컨트롤러가 새 Pod를 만들어 3으로 되돌립니다. 노드 고장으로 Pod가 사라진 경우에도 같은 구조로 다른 노드에 Pod가 다시 만들어집니다. Pod의 수를 정말로 줄이고 싶을 때는 Pod를 지우는 것이 아니라 Deployment의 replicas를 변경합니다.

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

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

  1. Kubernetes의 Deployment에서 Pod 템플릿의 컨테이너 이미지를 새 버전으로 변경했다. 기본 업데이트 방식(RollingUpdate)에서 일어나는 일로 올바른 것은?
  2. replicas: 10인 Deployment에서 롤링 업데이트 설정을 maxSurge: 25%, maxUnavailable: 25%로 했다. 업데이트 도중의 Pod 총수의 상한과 이용 가능한 Pod 수의 하한의 조합으로 올바른 것은?
  3. Kubernetes에서 Pod는 다시 만들어질 때마다 IP 주소가 바뀐다. 다른 애플리케이션이 라벨로 고른 여러 Pod에, 바뀌지 않는 이름과 주소로 접속하여 부하를 분산할 수 있게 하는 리소스는?
  4. Kubernetes 클러스터에서 하나의 호스트 이름으로 도착한 HTTPS 요청 중 경로가 /api로 시작하는 것은 api의 Service로, 그 밖의 것은 web의 Service로 분배하고 싶다. 이 분배 규칙을 정하는 데 적합한 리소스는?
  5. Kubernetes의 Secret에 데이터베이스의 비밀번호를 저장한다. Secret의 설명으로 올바른 것은?