WEBBOOK CHAPTER

Git에서 EKS까지: 25장 direct deploy와 GitOps를 환경에 맞게 선택한다

25장 direct deploy와 GitOps를 환경에 맞게 선택한다

이 책의 main path는 CI job이 kubectl set image를 실행하는 push-based deploy다. 흐름이 눈에 보여 처음 배우기 쉽다. 그러나 CI runner가 cluster network와 deploy credential을 가져야 하고, 실제 상태가 Git manifest와 달라질 수 있다.

GitOps에서는 Argo CD 같은 in-cluster reconciler가 Git의 desired state를 pull한다. CI는 image를 만들고 configuration repository에 새 digest PR을 만든다. review 후 merge되면 controller가 반영한다.

항목 Direct CI deploy GitOps pull
시작 난이도 낮음 controller·repository 추가
cluster credential CI에 필요 controller 내부에 유지
desired state 감사 별도 evidence 필요 Git history가 중심
긴급 수동 변경 drift 가능 자동 되돌림 가능
추천 작은 팀·학습·단순 환경 여러 cluster·엄격한 변경 통제

GitOps가 자동으로 안전을 보장하지 않는다. 잘못된 manifest가 merge되면 정확하게 잘못된 상태를 만든다. sync window, health check, rollback, secret strategy, controller upgrade와 repository 권한이 필요하다. 두 방식을 한 environment에서 무계획하게 섞어 서로 image를 덮어쓰게 하지 않는다.

6부 가용성·보안·비용을 운영한다