CICD 구성 (ArgoCD Multi cluster)

이정훈·2023년 7월 7일
1

CI/CD

목록 보기
11/11
post-thumbnail
  • ArgoCD는 다른 Cluster를 추가해서 사용할 수가 있다!

1. 다중 EKS 등록 및 전환

  • 간단하게 복습하고 넘어가고자 한다! 나는 지금 EKS가 2대가 있는데 이 친구들을 움직이면서 확인을 하려고한다. 그러면 어떻게 등록하고 변경해야하는가??
aws configure 에 등록을 한다음에 EKS를 등록해줘야한다!

# 등록해 주고
aws eks --region <Region> update-kubeconfig --name <EKS Cluster Name> --alias <원하는 별명>

# 등록된 친구 찾아주고
kubectl config get-contexts

# 변경해주고
kubectl config use-context <별명!>

2. ArgoCD CLI

  • AgroCD는 web 친구에 설치가 되어 있어야한다! 이걸 잘 기억하자! 왜냐하면 우린 보안규칙을 수정해줘야 하기 때문이다!
  • ArgoCD CLI를 무조건 설치해줘야 한다!
sudo curl --silent --location -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/download/$VERSION/argocd-linux-amd64 
sudo chmod +x /usr/local/bin/argocd

3. ArgoCD Login

  • ArgoCD CLI가 잘 설치 되었다면 로그인 할 수 있다.
# 여기서의 주소는 우리가 이전에 서비스를 변경했을 때, 접속할 때의 주소이다!
argocd login <argocd 주소 (http, https 프로토콜은 빼고 입력)>
  • 아이디와 비밀번호
admin
# 변경했으면 변경한 비밀번호
qwer1234
# 변경하지 않았다면
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

4. ArgoCD Cluster 추가

  • 현재 Cluset는 자기 자신밖에 없다!

  • 우리가 1번에서 추가했던 EKS Cluster 친구들을 조회해 보자
  • 아래와 같이 두 친구가 나올 것이다! 우린 이 별명을 가지고 cluster를 등록할 예정이다
kubectl config get-contexts -o name
<클러스터 arn 명>
# app
# web
  • 자 이제 등록해 보자!
  • 우리가 ArgoCD를 설치한 곳은 web이고 우리가 등록하고 자하는 Cluster는 app이다!
argocd cluster add <클러스터 arn 명>

argocd cluster add app
  • 등록이 순조롭게 되는 줄 알았지만……

  • 다른 영역에 있으니깐 web은 app에 접근할 수가 없다!
  • 다시 말해 app은 web이 들어 올 수 있도록 문을 열어줘야 한다!
  • 이 말은 app에서 인바운드 규칙을 편집해서 web이 들어올수 있도록 해야한다.
  • CIDR 블록은 vpc 영역을 잘 확인해서 열어주면 된다.
  • 0.0.0.0/0 으로 모두 열어서도 할 수 있지만…. 보안!


  • 추가가 된 것을 확인할 수 있다!!

  • 알아보기 쉽도록 이름을 변경해주었다.

5. ArgoCD TEST

  • web에 있는 ArgoCD가 app에 배포를 하는지 확인을 해보고자 한다!!

5-1 사전에 각 Cluster에 test namespace를 만들어준다.

# cluster 변경
kubectl config use-context <별명!!>

# namespace 생성
kubectl create ns test

5-2 Cluster app 배포

  • Application을 생성할 것인데
  • 이름은 app
  • 나머지는 default로 둔다

  • 우리가 사용할 예제는 ArgoCD 공식예제를 사용할 것이다.
https://github.com/argoproj/argocd-example-apps.git
  • 저기 Cluster URL은 Cluster app이다!
  • namespace는 이전에 만들어둔 test를 사용!

  • 배포된 것을 확인!

5-2 Cluster web 배포

  • 자기 자신에게도 배포가 되는지 확인해보자!
  • application 등록은 같은데 Cluster URL은 Cluster web으로 변경해주면 된다!

  • app, web 둘다 배포가 된 것을 확인할 수 있다!!

profile
싱숭생숭늉

0개의 댓글