클라우드와 컨테이너의 기초
Kubernetes에서 replicas: 3을 지정한 Deployment의 Pod가 3개 동작하고 있다. 이 중 하나의 Pod를 kubectl delete pod로 삭제했을 때 일어나는 일로 올바른 것은?
- ADeployment의 설정도 replicas: 2로 바뀌고, Pod는 2개인 채로 계속 동작한다
- B실제 개수가 지정한 3에 못 미치게 된 것을 컨트롤러가 감지하고 새 Pod를 하나 만든다
- CDeployment에 속한 나머지 2개의 Pod도 삭제되어 Deployment 전체가 정지한다
정답과 해설 보기
정답: B. 실제 개수가 지정한 3에 못 미치게 된 것을 컨트롤러가 감지하고 새 Pod를 하나 만든다
Kubernetes에서는 이용자가 'Pod를 3개 실행한다'는 바람직한 상태를 선언하고, 컨트롤러가 실제 상태를 반복해서 관찰하여 차이가 있으면 선언에 가까워지도록 조작합니다(조정, reconcile). Pod를 하나 삭제하면 실제 개수가 2가 되므로, ReplicaSet의 컨트롤러가 새 Pod를 만들어 3으로 되돌립니다. 노드 고장으로 Pod가 사라진 경우에도 같은 구조로 다른 노드에 Pod가 다시 만들어집니다. Pod의 수를 정말로 줄이고 싶을 때는 Pod를 지우는 것이 아니라 Deployment의 replicas를 변경합니다.