클러스터 내부에 argo cd 네임스페이스를 만들고 해당 네임스페이스 안에 argo cd 배포
기본적으로 argo cd API는 외부에 IP를 노출하지 않음
아래 방법 중 하나로 접근 가능
포드 포워딩
❯ kubectl port-forward svc/argocd-server -n argocd 8080:443
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080
# localhost:8080 입력시 아래 로그 뜸
Handling connection for 8080
Handling connection for 8080
# NodePort 타입으로 접근 (로컬 환경) node IP:NodePort 로 접속
> kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'
LoadBalancer 타입으로 접근 (클라우드 환경) → External IP 접속
argo cd api의 pod의 service를 통해 (외부)접속
⇒ 이를 위해 service 타입을 로드밸런스로 변경 (디폴트는 ClusterIP)
argo cd의 타입을 로드밸런서로 설정
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
argo cd CLI로 argo cd에 로그인
생성된 로드밸런서의 주소를 얻음
kubectl get svc argocd-server -n argocd
argocd-server LoadBalancer 100.65.177.86 af3a32d0ef73740468be00d53d9ca704-842471785.ap-northeast-2.elb.amazonaws.com 80:30783/TCP,443:31760/TCP 10h
로드밸런서 생성
argo cd CLI로 argo cd에 로그인
argo cd는 admin
계정의 비밀번호를 쿠버네티스 secret으로 저장해놓음