공부하기싫어
article thumbnail

4. CD - ArgoCD

aws-load-balancer-controller 설치

helm repo add eks https://aws.github.io/eks-charts
helm repo list
helm repo update
helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=project-myeks --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller --set image.repository=602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/amazon/aws-load-balancer-controller

 

argoCD 설치 확인 및 웹 UI 접속

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

이후 argocd-server 서비스의 타입을 로드밸런서로 변경한다고 함

kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

 

kubectl -n argocd get all

로 service/argocd-server 의 주소를 확인할 수 있다고 한다

 

그렇게 로드밸런서 dns 주소로 접속을 해보려고 하는데

;;

 

ㅡㅡ

주소 그대로 잘 들어갔구만 왜안되는지 모르겠음 ㅇㅅㅇ..

pod 가 pending 상태에서 넘어가지 않는다

 

알아보니까 fargate profile 을 작성하지 않는 이상 pod 가 실행되지 않는다고...

 

그래서 구름 통합 aws 계정에 있는 eks 에 argoCD 를 설치해보려고 했다

같은 조원 분께서 terraform 으로 eks 를 쉽게 구성해주셧다

 

 설치 다 하고 argocd service 를 로드밸런서 타입으로 바꾸고 들어가려니까

Warning SyncLoadBalancerFailed 2m41s (x7 over 7m53s) service-controller Error syncing load balancer: failed to ensure load balancer: Multiple tagged security groups found for instance i-0fb9580bc25cb6245; ensure only the k8s security group is tagged; the tagged groups were sg-0383e7f6561d6110a(terraform-eks-test-v1ljT8jz-node-20221115083054391200000004) sg-03830fbb86bd5586d(eks-cluster-sg-terraform-eks-test-v1ljT8jz-394070449)

 

이렇게 에러가 나서 보안그룹을 좀 수정해줬는데

그러고도 안들어가져서 보니까

우리가 애초 설계할때 외부 ip 접근을 차단해놨기때문에

임시 방편으로 내 개인 ip를 보안그룹에 추가해줘서 

 

성공

이렇게 접속할 수 있었다

 

기존 eks 는 좀 지워줘야지

 

밥먹고 argoCD 연결해보자

 

 

 

 

 

다시 해보자

 

settings 에서 리포지토리로 들어가서 git 을 등록해줬다

password 는 github 에서 access token 을 발급받았다

connect to repositories

 

settings/repositories

 

그리고 applications 에 가서 create app 해주고

sync policy

sync 정책은 자동으로

 

 

source / destination

소스 url 은 미리 connect 시켰던 깃허브에 애플리케이션이 들어있는 path 를 입력시켜줬고

destination 은 지금 eks 가 자동으로 들어있었다

namespace 는 클러스터에서 생성해주고 입력했다

create

 

?
ㅡㅡ

조금 기다려 봐도 progressing 에서 더 바뀌지 않는다

흠..

새벽 1시다

술한잔 때리고 자자 ㅅㅂ