Kubernetes 배포를 위한 GitHub와 ArgoCD 활용_2

duckiee·2023년 2월 20일
0
post-thumbnail

이전 포스트에 이어서 GitHub management-repository 리포지토리를 이용해 ArgoCD 환경을 구성한다.

GitHub 레포지토리에 업로드한 쿠버네티스 kustomize 로 ArgoCD 구성

ArgoCD는 별도의 VM이 아닌 EKS 클러스터 내 POD로 구성될 예정이며, Kustomize를 기반으로 구성할 예정이다.

로컬 PC에서 Argo CD를 설치하기 위한 디렉터리 구조 및 스크립트는 아래와 같이 구성 했다.

  1. kustomization.yaml
  • 깃허브 management-repository 내에 저장된 install.yaml, kustomization.yaml 파일 사용
resources:
  - https://github.com/<GitHub 유저명>/management-repository//argo-cd?ref=main
  1. setup.sh
# Namespace 생성
kubectl create namespace argocd

# ArgoCD 설치
kubectl kustomize ../manifests/| kubectl apply -n argocd -f -

# argocd-server의 type을 LoadBalancer로 변경
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

해당 스크립트를 실행하면 ArgoCD 관련 네임스페이스 및 POD가 구축 된다.

ArgoCD는 위와 같이 ELB 엔드포인트를 통해 접속 가능하며, 기본적으로 admin 계정이 생성돼있다.
다만 로그인 시 secret에 저장되어 있는 암호가 필요하므로 아래 명령어로 admin 계정의 암호를 확인할 수 있다

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

ArgoCD GitHub 연동

ArgoCD는 연동된 깃허브 레포지토리의 변동사항을 쿠버네티스에 적용시킬 수 있는 설정이 가능하다.
먼저 ArgoCD 콘솔에 접속하여 아래와 같이 레포지토리를 연동한다.
[ArgoCD 콘솔 > Settings > Repositories > Connect repo using SSH]

profile
DevOps로 진화하기

0개의 댓글