
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
- ArgoCD는 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 추가

- 우리가 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 URLd은 Cluster web으로 변경해주면 된다!

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