TobeDevOps - ArgoCD 연동 규칙

TobeDevOps 에서는 관리되는 이미지의 변경 사항을 감시하여 현재 배포된 환경과 Git에 정의된 이미지를 동일하게 유지하기 위해 GitOps 방식이 사용되며 ArgoCD를 통한 배포 자동화가 이루어 집니다.

포털을 통해 프로젝트에서 생성한 WEB, WAS, DB, XENI 구분의 서버(컨테이너)는 ArgoCD에 배포 환경 별 App이 생성되고 설정 값에 따라 App별 pod가 생성됩니다.

[배포] 메뉴에서 프로젝트 카드를 선택하여 생성된 배포 환경 별 App을 확인하고 ArgoCD를 통해 App의 세부 구성 요소를 확인할 수 있습니다.

프로젝트 카드의 콤보 박스를 선택합니다. 콤보 박스의 리스트는 프로젝트 내 생성한 서버(컨테이너)와 동일합니다.

이미지_2024-07-30_133909478

서버 별 배포 목록에서 배포 환경 별 App을 확인합니다.

이미지_2024-07-30_134135868

새 창을 통해 ArgoCD로 이동하여 선택한 App의 구성 요소를 확인할 수 있습니다.

이미지_2024-07-30_134414318

ArgoCD는 포털에서 생성한 계정과 KeyCloak으로 연동되며 최초 접근 시 Keycloak 인증 과정이 필요합니다. 포털에 로그인 된 상태에서 [LOG IN VIA KEYCLOAK] 버튼을 클릭하면 자동으로 인증됩니다.

이미지_2024-07-30_134446570

새 창으로 연결된 ArgoCD를 통해 App 별 구성 요소를 확인할 수 있습니다. App의 가장 최소 단위에는 pod가 존재합니다. 선택한 App의 구성내역과 pod 수는 프로젝트의 서버 설정 값에 따라 달라집니다.

이미지_2024-07-30_134619956

pod가 생성될 때 고유 ID값이 부여됩니다. pod를 클릭하면 ID와 상세 정보를 확인할 수 있습니다.

이미지_2024-07-30_134631125

DB는 Git Repository가 존재하지 않으며 한 번 생성된 DB 이미지는 데이터의 무결성과 DB의 항상성을 위해 변경되지 않습니다.

DB는 검증과 운영 환경에서는 Primary와 Secondary DB가 이중화된 구조로 사용되며 ArgoCD의 PRD App 안에 Primary, Secondary 두 개의 pod로 구성됩니다.

배포 환경

App 생성 정보

pod 명

프로젝트 개발(DEV)

DEV

dev-[db명]

프로젝트 검증(STG)

PRD

[db명]-primary


[db명]-secondary

프로젝트 운영(PRD)

이미지_2024-07-30_135101409

이미지_2024-07-30_135143103

App 상세 화면 상단에서 [Applications]를 클릭하여 프로젝트 내 전체 App을 확인할 수 있습니다.

이미지_2024-07-30_135203376

프로젝트 권한 별로 ArgoCD에서 접근할 수 있는 기능이 달라집니다. 권한 별 배포 기능은 배포 관리 에서 확인해 주세요.

ArgoCD의 자세한 사용 방법은 ArgoCD - Declarative GitOps CD for Kubernetes 문서를 참고해 주세요.