title: "GitOps 기본 개념"
description: "GitOps 정의에 따른 기본 개념 정리"
cleanUrl: /sw-engineer/gitops-concept
floatFirstTOC: right
…이러한 토론 중 Weaveworks의 CEO인 Alexis Richardson은 이 모든 것을 설명하는 한 단어가 'GitOps'라는 것을 깨달았습니다. GitOps의 기본 아이디어는 시스템 외부에 있는 시스템 모델을 기반으로 전체 시스템에 대한 작업을 자동으로 만드는 것이었습니다. Git은 해당 모델을 배치하기로 선택한 곳입니다…
<aside> 💡 참고 : Continuous Deployment는 CD(Continuous Delivery)에서 production으로의 배포를 자동화한 것에 차이가 있음
출처 : Continuous Integration (CI), Delivery (CD), Deployment (CD): What’s the Difference? | Humanitec
</aside>
by the GitOps Working Group(in CNCF - https://opengitops.dev)
<aside> 💡 원하는 상태(Desired State) : 시스템 재생성 시 해당 인스턴스들 간의 동작상 구분이 불가하기에 충분한 구성(configuration) 데이터의 모음. 구성 데이터에는 영구(persistent) 애플리케이션 데이터(예컨데 데이터베이스 컨텐츠)는 일반적으로 포함되지 않음. 하지만 해당 데이터 접근을 위한 자격 증명 또는 해당 시스템용 데이터 복구 도구를 위한 구성은 종종 포함됨.
</aside>
참고로, Kubernetes의 yaml
기반 manifest는 선언적 상태 표현이며, 이 manifest를 git에서 관리하면 버전 지정 및 불변성이 완성되며, 자동으로 가져오기 및 지속적인 화해는 argoCD의 특성임.