TobeDevOps 에서는 관리되는 이미지의 변경 사항을 감시하여 현재 배포된 환경과 Git에 정의된 이미지를 동일하게 유지하기 위해 GitOps 방식이 사용되며 ArgoCD를 통한 배포 자동화가 이루어 집니다.
포털을 통해 프로젝트에서 생성한 WEB, WAS, DB, XENI 구분의 서버(컨테이너)는 ArgoCD에 배포 환경 별 App이 생성되고 설정 값에 따라 App별 pod가 생성됩니다.
[배포] 메뉴에서 프로젝트 카드를 선택하여 생성된 배포 환경 별 App을 확인하고 ArgoCD를 통해 App의 세부 구성 요소를 확인할 수 있습니다.
프로젝트 카드의 콤보 박스를 선택합니다. 콤보 박스의 리스트는 프로젝트 내 생성한 서버(컨테이너)와 동일합니다.
서버 별 배포 목록에서 배포 환경 별 App을 확인합니다.
새 창을 통해 ArgoCD로 이동하여 선택한 App의 구성 요소를 확인할 수 있습니다.
ArgoCD는 포털에서 생성한 계정과 KeyCloak으로 연동되며 최초 접근 시 Keycloak 인증 과정이 필요합니다. 포털에 로그인 된 상태에서 [LOG IN VIA KEYCLOAK] 버튼을 클릭하면 자동으로 인증됩니다.
새 창으로 연결된 ArgoCD를 통해 App 별 구성 요소를 확인할 수 있습니다. App의 가장 최소 단위에는 pod가 존재합니다. 선택한 App의 구성내역과 pod 수는 프로젝트의 서버 설정 값에 따라 달라집니다.
pod가 생성될 때 고유 ID값이 부여됩니다. pod를 클릭하면 ID와 상세 정보를 확인할 수 있습니다.
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) |
개발 환경(DEV) DB App과 Pod
운영 환경(PRD) DB App과 Pod
App 상세 화면 상단에서 [Applications]를 클릭하여 프로젝트 내 전체 App을 확인할 수 있습니다.
프로젝트 권한 별로 ArgoCD에서 접근할 수 있는 기능이 달라집니다. 권한 별 배포 기능은 배포 관리 에서 확인해 주세요.
ArgoCD의 자세한 사용 방법은 ArgoCD - Declarative GitOps CD for Kubernetes 문서를 참고해 주세요.