argocd project & repo & app

kyungbin kim·2024년 3월 10일
0

SESAC Final Project

목록 보기
10/11
post-custom-banner

1. 공통 Project 생성


1) Project 생성: global-k-foods-app


2) 세부 설정

  • repo를 project와 연결하여 등록

(1) Source Repository 등록

  • repository를 project에 연결하여 등록한 후에는 scoped repository에 자동으로 뜸

(2) Destination 등록

  • 이 project에서 세 개의 cluster를 모두 다룰 수 있도록 함.

(3) Cluster & Namespace resource 등록

  • project에서 관리할 수 있는 클러스터의 resource와 namespace를 설정.
  • '*' 로 지정하여 모든 리소스, 모든 네임스페이스에 대해 관리할 수 있도록 함.

3) Project 등록 완료


ArgoCD Project와 Repository의 관계

  • Project와 Repository는 직접적인 관계가 없다.
  • ArgoCD에 Repository 등록 시 반드시 하나의 Project를 명시적으로 할당해주어야 한다.
  • 하지만 연결되지 않은 Project라도 해당 Repository를 사용하여 app을 생성할 수 있다.
  • 따라서 Repository를 ArgoCD에 등록하기 위한 명분에서 global-project를 생성하였고, region 별 실제 app 생성을 위해서는 seoul-k-foods-app, sydney-k-foods-app, tokyo-k-foods-app Project를 각각 생성하여 이용하였다.

2. 리전 별 Project 생성


3. 리전 별 app 생성

1) 서울 리전 app 생성




2) sync 진행

  • 오류 사항 'Select at least one resource'
  • try 1. git 소스코드의 namespace가 두 개였던 것을 backend로 통일
    해당 app의 namespace와도 동일
    => 결국 backend라는 네임스페이스에서 CD 작업을 수행하도록 함

  • try 2. target revisionHEAD에서 main 브랜치로 변경
    • 오류 원인: git 소스코드 파일 이름에 확장자 .yaml을 안붙였다....
  • auto sync 설정 후 제대로 진행됨
  • 배포 완료

3) 배포 확인

  • 생성된 리소스 확인
    • 클러스터 pod, deployment, service, ingress 리소스

    • ingress ALB

    • External DNS

4) 접속 테스트

  • 생성된 ingress ALB 서비스에 External DNS에 의해 연결된 도메인 네임(route53에서 확인)
    kr.yongdev.shop 접속
post-custom-banner

0개의 댓글