안녕하세요. 이 글은 ArgoCD시리즈입니다.
이번 시간에는 ArgoCD의 최소 단위인 Application을 설명합니다.
영상: https://youtu.be/7QD6llN-WPo?t=15
1. 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에 있는 내용을 어떤 쿠버네티스 배포할지를 설정합니다.
2. 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]버튼을 클릭하면 됩니다.
3. 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
'연재 시리즈' 카테고리의 다른 글
ArgoCD 6편 - Sync 설정 (6) | 2022.08.16 |
---|---|
ArgoCD 5편 - project (0) | 2022.08.14 |
ArgoCD 3편 - helloworld (0) | 2022.08.13 |
ArgoCD 2편 - 설치 (3) | 2022.08.12 |
ArgoCD 1편 - 컨셉과 장단점 (0) | 2022.08.12 |