인프라 & 클라우드 · 중급
GitOps란 무엇이며, 전통적인 배포 방식과의 차이점은?
힌트 · 선언적 인프라, Git을 통한 상태 관리를 생각해보세요.
선언적Git 저장소자동화멱등성관찰 가능성
모범답안
GitOps는 인프라와 애플리케이션 배포를 관리하는 방법론입니다. 핵심은 모든 인프라와 애플리케이션 설정을 Git 저장소에 선언적으로 정의하고, Git 저장소가 시스템의 '단일 진실 공급원' 역할을 한다는 점입니다.
전통적인 배포 방식에서는 명령형으로 직접 서버에 접속해서 설정을 변경하거나 배포 스크립트를 실행하는 경우가 많습니다. 반면 GitOps에서는 Git 저장소에 변경 사항을 커밋하면, 자동화 도구가 이를 감지하고 실제 시스템에 적용합니다.
이러한 방식은 다음과 같은 장점을 제공합니다. 첫째, 모든 변경 이력을 Git으로 관리하여 추적 및 감사가 용이합니다. 둘째, 멱등성을 보장하여 배포 과정에서 오류 발생 가능성을 줄입니다. 셋째, 시스템 상태를 Git 저장소와 비교하여 관찰 가능성을 높이고, 문제 발생 시 빠르게 롤백할 수 있습니다. 마지막으로, 자동화를 통해 배포 속도를 향상시키고 인적 오류를 줄일 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 DevOps / CI·CD 면접 질문
- Kubernetes의 주요 개념(Pod, Deployment, Service, Ingress)에 대해 설명해주세요.
- Kubernetes의 ReplicaSet과 Deployment의 차이점은 무엇인가요?
- Blue-Green 배포와 Canary 배포의 차이점과 장단점을 설명해주세요.
- 서비스 메시(Service Mesh)란 무엇이며, 어떤 문제를 해결하나요?
- Kubernetes의 네트워크 정책(Network Policy)에 대해 설명해주세요.
- 동일한 Dockerfile로 빌드했는데도 CI 환경마다 빌드 캐시가 거의 적중하지 않아 빌드 시간이 길어지는 상황입니다. 레이어 캐시가 무효화되는 원인과, 캐시 적중률을 높이기 위한 Dockerfile 작성 전략을 설명해주세요.