ArgoCD 기본 설정하기 (Cluster, Account 생성)

brillog·2024년 1월 27일
1

DevOps

목록 보기
5/7

Prerequisites

argocd 설치

argocd Installation을 참고하여 argocd를 설치합니다.

Mac의 경우 brew install argocd로 간단히 설치가 가능하며, 제가 설치해야 할 환경은 Amazon Linux 2이므로 아래와 같이 설치를 진행하였습니다.

$ curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
$ sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
$ ln -s /usr/local/bin/argocd /usr/bin/argocd
$ rm argocd-linux-amd64

argocd 로그인

argocd를 설치했으면 argocd login을 진행합니다.

$ argocd login argocd.mydomain.com --username <ARGOCD_USERNAME> --password <ARGOCD_PASSWORD>

Cluster 생성

ArgoCD Cluster는 콘솔에서 생성할 수 없습니다. argocd cluster add Command Reference를 참고하여 Cluster를 생성해 보겠습니다.

ArgoCD Cluster 미생성

$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxx.ap-northeast-2.eks.amazonaws.com
  name: arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>
contexts:
- context:
    cluster: arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>
    namespace: argocd
    user: arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>
  name: arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>
current-context: arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>
kind: Config
...

context('arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>')을 복사해서 아래와 같이 cluster add 다음에 적어줍니다. (argocd 로그인을 하지 않으면 에러가 발생하니 꼭 로그인을 한 뒤 진행해 주세요.)

$ argocd cluster add arn:aws:eks:ap-northeast-2:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>

ArgoCD Cluster 생성

Cluster가 생성된 것을 확인할 수 있으며 생성한 Cluster 내에 Application이 없어서 STATUS는 아직 'Unknown' 상태입니다.

Account 생성

$ kubectl edit configmap argocd-cm -n argocd
apiVersion: v1
data:
  accounts.<NEW_ACCOUNT_NAME>: apiKey,login
  accounts.<NEW_ACCOUNT_NAME>.enabled: "true"
kind: ConfigMap
metadata:
  annotations:
  ...

ArgoCD Settings에서 Account가 생성된 것을 확인할 수 있습니다.

ArgoCD Account


Reference

개인적으로 공부하며 작성한 글로, 내용에 오류가 있을 수 있습니다.

profile
클라우드 엔지니어 ♡

0개의 댓글