argoCD설치

KingTG·2024년 5월 14일

인프라

목록 보기
13/13

argoCD 설치

새로운 리스트에 새로운 아이템 만들기

gitHub project : https://github.com/tgseo76/install
Definition : Pipeline script from SCM
Definition > SCM : Git
Definition > SCM > Repositories > Repository URL : https://github.com/tgseo76/install.git
Definition > SCM > Branches to build > Branch Specifier : */main
Definition > SCM > Branches to build > Additional Behaviours > Sparse Checkout paths > Path : ground/cicd-server/argo
Definition > Script Path : ground/cicd-server/argo/Jenkinsfile

지금 빌드를 눌러 빌드를 하면 파라미터와 함께 빌드가 나오게 된다.

아르고cd를 설치할 네임스페이스를 생성

헬름업그레이드를 눌러주고 밑에 옵션대신 argo-cd를 눌러 설치해준다.

https://192.168.56.30:30002/login 주소에 접속을 해보면 아르고 창이 나오는데 뒤에 포트는 https://github.com/tgseo76/install/blob/main/ground/cicd-server/argo/helm/argo-cd/values-dev.yaml 에 있는 포트 지정

로그인

username : admin
pw : kubectl get -n argo secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d 명령어를 치면 나오는 문자열을 넣어준다.

로그인이 되면 아르고에 메인 페이지가 나오게 된다.

pw 변경

왼쪽 메뉴 user info → 위쪽 자물쇠 update passwrod

비밀번호 변경 후 세이브를 눌러 저장한다.

argo 배포

메인화면에서 applications → new app

Application Name : test
Project Name : default
SYNC POLICY : Manual

sync options 설명


SKIP SCHEMA VALIDATION : 매니패스트에 대한 yaml 스키마 유효성 검사를 건너뛰고 배포 (kubectl apply --validate=false)

PRUNE LAST : 동기화 작업이 끝난 이후에 Prune(git에 없는 리소스를 제거하는 작업)를 동작시킴

RESPECT IGNORE DIFFERENCES : 동기화 상태에서 특정 상태의 필드를 무시하도록 함

AUTO-CREATE NAMESPACE : 클러스터에 네임스페이스가 없을 시 argocd에 입력한 이름으로 자동 생성

APPLY OUT OF SYNC ONLY : 현재 동기화 상태가 아닌 리소스만 배포

SERVER-SIDE APPLY  : 쿠버네티스 서버에서 제공하는 Server-side Apply API 기능 활성화 (레퍼런스 참조)

- PRUNE PROPAGATION POLICY (레퍼런스 참조)

foreground : 부모(소유자, ex. deployment) 자원을 먼저 삭제함

background  : 자식(종속자, ex. pod) 자원을 먼저 삭제함

orphan  : 고아(소유자는 삭제됐지만, 종속자가 삭제되지 않은 경우) 자원을 삭제함

밑에 souce 부분

Repository URL : https://github.com/tgseo76/kubernetes.git
Revision : main
Path : 2231/deploy/k8s

밑에 destination 부분


Cluster URL : https://kubernetes.default.svc 설치되어있는 부분 드롭다운에서 선택
Namespace : argo-test 이 이름대로 네임스페이스가 만들어진다.
[선택] Directory

다 작성한 후 위쪽 create 클릭

test 어플리케이션이 만들어진다.

들어가 보면 git에서 만들어 놓은 yaml파일을가지고 배포할 리소스들을 만들어 놨다.

sync → synchronize를 누르면 배포가 된다.

PRUNE : GIt에서 자원 삭제 후 배포시 K8S에서는 삭제되지 않으나, 해당 옵션을 선택하면 삭제시킴

FORCE : --force 옵션으로 리소스 삭제

APPLY ONLY : ArgoCD의 Pre/Post Hook은 사용 안함 (리소스만 배포)

DRY RUN : 테스트 배포 (배포에 에러가 있는지 한번 확인해 볼때 사용)

실행되고 있으면 돌아가는 아이콘 배포가 되면 하트로 바뀐다.

쿠버네티스 대시보드에서도 확인 가능

아르고에서 설정파일을 변경하고 쿠버네티스 대시보드에서 확인해보면 변경되는걸 확인할 수 있다.

helm 배포

메인화면에서 applications → new app

Application Name : test-helm
Project Name : default
SYNC POLICY : Manual

souce

Repository URL : https://github.com/tgseo76/kubernetes.git
Revision : main
Path : 2232/deploy/helm/api-tester

destination

Cluster URL : https://kubernetes.default.svc
Namespace : test

체크박스에 helm을 눌러주고

values files에서 values-dev.yaml 를 적어준뒤 엔터를 눌러 화면과 같이 지정되어야 한다.

소스에 경로를 넣어주면 그 경로를 읽어 밑에 helm으로 바꾸어준다.

create를 눌러 만들면 만들어 진게 확인 된다. sync를 눌러 배포

0개의 댓글