패스잇
인프라 & 클라우드 · 중급

Kubernetes에서 Deployment와 ReplicaSet은 Pod를 관리하는 데 사용됩니다. 이 둘의 관계를 설명하고, Deployment가 ReplicaSet 위에 추상화된 계층으로서 어떤 이점을 제공하는지 구체적인 사용 사례(예: 롤링 업데이트, 롤백)를 들어 설명해 주세요.

힌트 · ReplicaSet은 특정 수의 Pod를 유지하는 반면, Deployment는 ReplicaSet을 관리하여 애플리케이션의 버전 관리 및 배포 전략을 구현합니다.

선언적 업데이트롤링 업데이트롤백ReplicaSet 관리배포 전략

모범답안

Deployment와 ReplicaSet은 Kubernetes에서 Pod를 관리하는 데 사용되는 리소스입니다. ReplicaSet은 지정된 수의 Pod 복제본을 항상 실행하도록 보장하는 역할을 합니다. 만약 Pod가 죽으면 ReplicaSet은 자동으로 새로운 Pod를 생성합니다.

Deployment는 ReplicaSet을 관리하는 상위 수준의 추상화 계층입니다. Deployment를 사용하면 애플리케이션 업데이트, 롤백, 스케일링과 같은 복잡한 배포 작업을 더 쉽게 수행할 수 있습니다.

예를 들어, 롤링 업데이트를 생각해 봅시다. Deployment는 새로운 버전의 애플리케이션을 배포할 때 이전 ReplicaSet을 점진적으로 새로운 ReplicaSet으로 교체합니다. 이를 통해 서비스 중단 없이 애플리케이션을 업데이트할 수 있습니다. 만약 업데이트에 문제가 발생하면 Deployment는 이전 버전으로 롤백하는 기능도 제공합니다. Deployment는 ReplicaSet을 직접 관리하는 것보다 훨씬 편리하고 안전한 배포 전략을 제공합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Docker / Kubernetes 면접 질문

← Docker / Kubernetes 면접 질문 전체 보기