본문 바로가기
개발 이야기/Kubernetes

Kubernetes, ArgoCD 설치 해보기(with Minikube)

by 농개 2024. 3. 9.
반응형

ArgoCD는 쿠버네티스 클러스터에 쉽게 애플리케이션을 배포 할 수 있게 해주는 유용한 도구입니다.

저도 실무에서 사용하고 있는데요. 운영을 하고 있는건 아니고

개발자로서 사용자 입장입니다.

ArgoCD가 없는 업무 환경은 상상하기 싫을 정도로 만족하며 쓰는 도구입니다.👍

 

아래와 같은 주요 특징이 있습니다.

  • 사용자 친화적 UI 제공
  • Git repository와 연동 및 지속 배포(Continuous Delivery) 구성
  • 손쉬운 쿠버네티스 CLI(Command Line Interface) 사용

이번 포스팅에서는 ArgoCD를 설치하는 과정을 정리합니다.

Docker, Minikube가 설치되어 있어야합니다.

 

1. 설치

먼저 설치하기 전에 Namespace를 하나 만들어 줍니다.

 ~ kubectl create namespace argocd

 

 이 후 아래를 실행 시켜 최신 버전의 ArcdCD를 설치해봅시다.

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

 

2. 확인

위 설치가 완료되면 아래 명령어를 실행하여 확인.

 ~ kubectl get all -n argocd
NAME                                                    READY   STATUS    RESTARTS        AGE
pod/argocd-application-controller-0                     1/1     Running   1 (5h32m ago)   7h11m
pod/argocd-applicationset-controller-5555c64d7c-2xvns   1/1     Running   1 (5h32m ago)   7h11m
pod/argocd-dex-server-6fcfc6f94d-2vbn7                  1/1     Running   1 (5h32m ago)   7h11m
pod/argocd-notifications-controller-5ffwfe7849-pv7mh    1/1     Running   1 (5h32m ago)   7h11m
pod/argocd-redis-66dwdwq7b78-nzc2                       1/1     Running   1 (5h32m ago)   7h11m
pod/argocd-repo-server-5c7d64b8bf-11mgh                 1/1     Running   1 (5h32m ago)   7h11m
pod/argocd-server-56f7986dff-jh22r                      1/1     Running   1 (5h32m ago)   7h11m
...(생략)

 

ArgoCD와 관련된 파드 서비스들이 argocd라는 네임스페이스에서 실행되고 있음을 확인 할 수 있습니다.

 

3. GUI 접속

GUI를 이용하기 위해서는 먼저 포트포워딩이 필요합니다.

아래를 실행해봅시다.

 ~ 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을 접속해봅시다.

아마도 안전하지 않음 연결 문제가 뜰 것인데, 테스트 환경이니 우선 무시하고 진행해 봅시다.

(실제 운영 환경에서는 보안 및 사용자 권한 제어가 필수적일 것입니다.)

 

위 캡처처럼 로그인 페이지가 뜹니다.

 

4. 로그인

초기에 admin 계정에 대한 비밀번호는 argocd 네임스페이스에 시크릿 형태로 저장됩니다.

이를 확인하려면 아래 명령어를 그대로 실행 해봅니다.

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

 

그리고 로그인 해보면 아래와 같이 접속 될 것입니다.

 

5. Git repo 연동

우측 탭에서 Settings 메뉴를 클릭합니다.

그리고 제일 상단의 Repositories > Connect를 클릭하면 아래와 같이 탭이 뜰 것입니다.

 

via HTTPS를 선택한 뒤, Repository URL 부분에 

지속 배포를 위한 git repository url을 입력하면 됩니다.

github를 사용한다면 아래에 보이는 주소겠지요.

 

 


이제 git repository 연동까지 완료했습니다.

이어서 다음 포스팅에서는 ArgoCD를 통해서 Application을 클러스터에 배포하는 것을 정리해보겠습니다.

반응형