[argocd] 핵심 컴포넌트 정리

2025. 6. 20. 23:05·CICD/argoCD 공부 기록

그림으로 보는 컴포넌트 구성

각 컴포넌트 설명

  • Application Controller : Application Custom Resource(CR)에 정의된 Git 저장소 경로, 동기화 정책, 배포 대상 클러스터 정보 등의 선언적 구성을 클러스터 내 실제 Kubernetes 리소스 상태와 지속적으로 비교함
  • Application CR : 애플리케이션의 선언적 배포를 정의하고 관리하기 위한 커스텀 리소스로, Project 이름, Git 소스 정보, 배포 대상 클러스터, 동기화 정책 등의 메타데이터를 포함하고 있음
  • Application Controller : 구성 변경을 감지하면 Repo Server를 통해 Git 저장소에서 소스를 가져와 새로운 YAML 매니페스트를 렌더링한 뒤, 이를 기반으로 Kubernetes 리소스를 생성하거나 업데이트하여 동기화를 수행
  • Application 리소스 : Argo CD가 설치된 argocd 네임스페이스에 배포되며, 이를 argocd-application-controller 파드가 조회하고 관리하기 위해서는 해당 리소스에 대한 권한이 필요함. 현재는 ServiceAccount, ClusterRole, ClusterRoleBinding을 통해 클러스터 내 리소스에 대한 광범위한 권한이 명시적으로 부여되어 있음
  • Argo CD는 기본적으로 자신이 배포된 네임스페이스 내 Application 리소스만 탐지하고 관리함.
단, v2.5 이상 버전에서는 application-controller 시작 시 네임스페이스 파라미터를 지정하거나, argocd-cmd-params-cm ConfigMap의 application.namespaces 항목을 설정하여 다른 네임스페이스의 Application 리소스도 추적할 수 있음.
만약 이러한 네임스페이스 파라미터나 ConfigMap 설정이 적용되어 있지 않으면 argocd 네임스페이스 내 Application 리소스만 탐지 및 관리하게 됨
  • 또한 Argo CD UI를 통해 애플리케이션을 조회하기 위해서는 사용자에게 적절한 접근 권한을 부여하는 ConfigMap 설정이 필요하며, NodePort를 오픈하면 argocd-server에 외부에서 접근할 수 있음

ArgoCD 자원의 동작 원리

Argo CD는 여러 컴포넌트로 구성됩니다.

  • Application Controller는 애플리케이션 정의를 통해 자원의 생성·삭제·동기화 작업을 결정하고 관리합니다.
  • ApplicationSet Controller는 개별 애플리케이션 생성과 Owner Reference 연계 역할을 하며, 실제 배포 작업은 하지 않습니다.
  • Argo CD Repository Server는 Git 저장소로부터 소스를 가져오고, 매니페스트를 렌더링하는 역할을 합니다.

'CICD > argoCD 공부 기록' 카테고리의 다른 글

[argocd] argocd-cm ConfigMap  (1) 2025.06.26
[argocd] argocd-rbac-cm ConfigMap  (0) 2025.06.26
[argocd] Automated Sync Policy  (0) 2025.06.23
[argocd] Argo CD Finalizer로 인한 삭제 사고를 피하는 방법  (0) 2025.06.23
[argocd] ArgoCD Architecture  (0) 2025.06.03
'CICD/argoCD 공부 기록' 카테고리의 다른 글
  • [argocd] argocd-rbac-cm ConfigMap
  • [argocd] Automated Sync Policy
  • [argocd] Argo CD Finalizer로 인한 삭제 사고를 피하는 방법
  • [argocd] ArgoCD Architecture
Hyukops
Hyukops
안녕하세요
  • Hyukops
    Hyukops 님의 Tech Blog
    Hyukops
    • 분류 전체보기 (141)
      • Introduction (1)
      • Kubernetes & EKS (43)
        • k8s in action (9)
        • k8s 공부 기록 (17)
        • k8s 운영 가이드 (10)
        • k8s 운영 특이사항 (7)
      • Service Mesh (29)
        • Istio 공부 기록 (20)
        • Istio 운영 특이사항 (9)
      • CICD (10)
        • argoCD 공부 기록 (6)
        • argoCD 운영 특이사항 (4)
      • Logging & Monitoring (5)
        • Prometheus 운영 특이사항 (0)
        • fluent bit 운영 특이사항 (5)
      • Infrastructure as Code (8)
        • terraform 공부 기록 (3)
        • terraform 운영 특이사항 (5)
      • AWS (40)
        • aws 공부 기록 (29)
        • 솔루션 사례 & 문제 해결 (11)
      • Database (5)
        • postgreSQL (5)
  • 태그

    Database
    Terraform
    canary
    PostgreSQL
    prometheus
    AWS
    fluentbit
    fluent bit
    eks
    k8s in action
    aws saa
    Logging
    MSK
    argocd
    Istio
    kubernetes
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Hyukops
[argocd] 핵심 컴포넌트 정리
상단으로

티스토리툴바