❤️
악분의 ArgoCD 공부기록
  • Home
  • Argo CD 소개
    • 실습자료
    • 컨셉과 장단점
    • 설치
    • 아키텍처
  • ArgoCD CLI 설치
    • 설치
    • login
  • ARGO CD HelloWorld
    • nginx pod, service 배포
  • ARGO CD 단위
    • 소개
    • Applicaiton
    • Project
  • Sync 설정
    • 소개
    • Refresh Period
    • 수동 Refresh
    • Sync와 Sync Policy
    • Sync Status
    • Health Status
    • Prune
    • Directory Recurse
    • Self healing
    • Ignore Difference
    • Non Cascade 삭제
    • ArgoCD로 관리되는지 확인
    • 기존 리소스 연결
    • helm chart
    • kustomize
  • Sync LifeCycle
    • Phases
  • private repository
    • 소개
    • git private repo 관리
  • User 관리
    • 소개
    • Argo CD user
    • Built-in user
    • Local user 생성
    • 권한(Role) 관리
  • Argo CD Project
    • Project란?
    • Project 생성 예제
    • Project 설정
    • Project 설정 예제
    • Project 권한(Role)과 예제
  • App of Apps
    • App of Apps 패턴
  • Multi cluster 관리
    • 클러스터 추가
  • 모니터링
    • 소개
    • Argo CD Metrics 추가
    • Prometheus Operator 설치
Powered by GitBook
On this page
  • Application이란?
  • Application 조회
  • Application 생성
  1. ARGO CD 단위

Applicaiton

Previous소개NextProject

Last updated 2 years ago

Application이란?

helloworld 예제 실습과정 기억나신가요? git정보와 쿠버네티스 클러스터를 입력했었습니다. 저희가 입력한 정보는 application CRD로 생성되고 argocd가 관리하게 됩니다.

 kubectl -n argocd get application

argocd는 application이라는 단위로 배포할 리소스를 관리합니다. application은 쿠버네티스 CRD로서 argocd를 설치하면 자동으로 CRD가 생성됩니다.

$ kubectl get crd | grep application

결국, argocd를 관리(또는 사용)한다는 것은 application을 관리하는 것과 같은 의미입니다. application은 어떤 git에 있는 내용을 어떤 쿠버네티스 배포할지를 설정합니다.

Application 조회

application조회는 kubectl, web UI, argocd CLI로 할 수 있습니다.

kubectl로는 get application으로 application을 조회할 수 있습니다.

kubectl -n argocd get application

WEB UI에서는 왼쪽 첫번째 메뉴입니다. kubectl get application목록과 갯수가 동일합니다.

application에 대한 상세정보는 kubectl describe로 확인할 수 있습니다.

kubectl -n argocd describe application helloworld | grep Spec -A 10

WEB UI에서는 왼쪽 위에 있는 [APP DEDTAILS]버튼을 클릭하면 됩니다.

Application 생성

application생성은 kubectl, web UI, argocd CLI로 할 수 있습니다.

WEB UI는 helloworld예제에서 살펴봤듯이 [NEW APP]버튼으로 할 수 있습니다.

kubectl은 CRD로 application을 정의하고 apply로 생성합니다. CRD가 익숙하지 않으면 WEB UI에 입력칸을 채우고 오른쪽 위에 있는 [EDIT As YAML]버튼을 클릭하면 CRD를 볼 수 있습니다.

helloworld 예제의 CRD는 아래와 같습니다.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: helloworld
spec:
  destination:
    name: ''
    namespace: ''
    server: 'https://kubernetes.default.svc'
  source:
    path: example-1
    repoURL: 'https://github.com/choisungwook/argocd-practice.git'
    targetRevision: HEAD
  project: default