4장. GitOps

4.1. Red Hat OpenShift GitOps 정보

Red Hat OpenShift GitOps는 Argo CD를 선언적 GitOps 엔진으로 사용하는 Operator입니다. 다중 클러스터 OpenShift 및 Kubernetes 인프라에서 GitOps 워크플로우를 활성화합니다. 관리자는 Red Hat OpenShift GitOps를 사용하여 클러스터 및 개발 라이프사이클 전반에 걸쳐 Kubernetes 기반 인프라 및 애플리케이션을 일관되게 구성하고 배포할 수 있습니다. Red Hat OpenShift GitOps는 오픈 소스 프로젝트 Argo CD 를 기반으로 하며 업스트림에서 제공하는 기능, 추가 자동화, Red Hat {OCP} 통합, Red Hat의 엔터프라이즈 지원, 품질 보증 및 엔터프라이즈 보안에 중점을 두고 있는 기능과 유사한 세트를 제공합니다.

참고

Red Hat OpenShift GitOps는 {OCP}와 다른 주기로 릴리스되므로 이제 제품의 각 마이너 버전에 대한 별도의 설명서 세트로 Red Hat OpenShift GitOps 설명서를 사용할 수 있습니다.

Red Hat OpenShift GitOps 문서는 https://docs.openshift.com/gitops/ 에서 확인할 수 있습니다.

특정 버전에 대한 문서는 버전 선택기 드롭다운을 사용하거나 URL에 버전을 추가하여 직접 확인할 수 있습니다(예: https://docs.openshift.com/gitops/1.8 ).

또한 Red Hat OpenShift GitOps 설명서는 https://access.redhat.com/documentation/en-us/red_hat_openshift_gitops/ 의 Red Hat 포털에서도 사용할 수 있습니다.

Red Hat OpenShift GitOps 라이프 사이클 및 지원되는 플랫폼에 대한 자세한 내용은 플랫폼 라이프 사이클 정책을 참조하십시오.

Red Hat OpenShift GitOps를 사용하면 개발, 스테이징, 프로덕션과 같은 다양한 환경의 다양한 클러스터에 애플리케이션을 배포할 때 애플리케이션의 일관성을 유지할 수 있습니다. Red Hat OpenShift GitOps는 구성 리포지토리를 중심으로 배포 프로세스를 구성한 후 이 프로세스를 중심 요소로 만듭니다. 항상 두 개 이상의 리포지토리가 있습니다.

  1. 소스 코드가 있는 애플리케이션 리포지토리
  2. 원하는 애플리케이션 상태를 정의하는 환경 구성 리포지토리

이러한 리포지토리에는 지정된 환경에서 필요한 인프라에 대한 선언적 설명이 포함되어 있습니다. 또한 환경을 설명된 상태에 맞게 조정하는 자동화된 프로세스가 포함되어 있습니다.

Red Hat OpenShift GitOps는 Argo CD를 사용하여 클러스터 리소스를 유지합니다. Argo CD는 애플리케이션의 CI/CD(연속 통합 및 연속 배포)에 사용되는 오픈 소스 선언 도구입니다. Red Hat OpenShift GitOps는 Argo CD를 컨트롤러로 구현하여 Git 리포지토리에 정의된 애플리케이션 정의 및 구성을 지속적으로 모니터링합니다. 그러면 Argo CD에서 이러한 구성의 지정된 상태를 클러스터의 라이브 상태와 비교합니다.

Argo CD는 지정된 상태에서 벗어난 모든 구성을 보고합니다. 이러한 보고서를 통해 관리자는 자동 또는 수동으로 구성을 정의된 상태로 다시 동기화할 수 있습니다 따라서 Argo CD를 사용하면 {OCP} 클러스터를 구성하는 데 사용되는 리소스와 같이 글로벌 사용자 정의 리소스를 제공할 수 있습니다.

4.1.1. 주요 기능

Red Hat OpenShift GitOps는 다음 작업을 자동화하는 데 도움이 됩니다.

  • 클러스터의 구성, 모니터링, 스토리지 상태가 비슷한지 확인
  • 여러 {OCP} 클러스터에 구성 변경 사항 적용 또는 되돌리기
  • 템플릿 구성을 다른 환경과 연결
  • 스테이징에서 프로덕션까지 클러스터 전체에서 애플리케이션 승격

4.1.2. 추가 리소스