> ArgoCD 아키텍쳐
> ArgoCD 설치 및 배포 (kubectl, helm)
- Argo 참고 link
▶ Argo Site : https://argoproj.github.io/
▶ Argo Github : https://github.com/argoproj
ArgoCD(Ver. 2.9.3) 설치 (k8s v1.25~28 지원)
- Docs : https://argo-cd.readthedocs.io/en/stable/
- Artifacthub : https://artifacthub.io/packages/helm/argo/argo-cd/5.52.1
ArgoCD Image Updater(Ver. 0.9.2) 설치
- Docs : https://argocd-image-updater.readthedocs.io/en/stable/
- Artifacthub : https://artifacthub.io/packages/helm/argo/argocd-image-updater/0.9.2
Argo Rollouts(Ver. 1.6.4) 설치
- Docs : https://argoproj.github.io/argo-rollouts/
- Artifacthub : https://artifacthub.io/packages/helm/argo/argo-rollouts/2.34.1
▶ Workflows : https://argoproj.github.io/argo-workflows/
▶ Events : https://argoproj.github.io/argo-events/
- 사전 설정 작업
# helm이 설치돼 있는 서버에서 작업
# helm 레포지토리(argo-cd) 설정 및 다운로드
helm repo add argo https://argoproj.github.io/argo-helm
helm pull argo/argo-cd --version 5.52.1
helm pull argo/argocd-image-updater --version 0.9.2
helm pull argo/argo-rollouts --version 2.34.1
# 압축 해제
tar -xf argo-cd-5.52.1.tgz
tar -xf argocd-image-updater-0.9.2.tgz
tar -xf argo-rollouts-2.34.1.tgz
# 내용 확인
ls argo*
------
argo-cd-5.52.1.tgz argocd-image-updater-0.9.2.tgz argo-rollouts-2.34.1.tgz
argo-cd:
Chart.lock charts Chart.yaml README.md templates values.yaml
argocd-image-updater:
Chart.yaml README.md templates values.yaml
argo-rollouts:
Chart.yaml README.md templates values.yaml
# helm package를 Github로 업로드
https://github.com/Victor-kr/install/tree/main/ground/cicd-server/argo/helm/argo-cd
https://github.com/Victor-kr/install/tree/main/ground/cicd-server/argo/helm/argocd-image-updater
https://github.com/Victor-kr/install/tree/main/ground/cicd-server/argo/helm/argocd-rollouts
1. ArgoCD 설치하기
- Jenkins에 view 생성 및 pipeline 생성
1-1. [+] 버튼을 눌러서 [새 보기] 만들기
조회명 : add-on
Type : List View
1-2. item name 입력 및 Pipeline 선택
Enter an item name에 [deploy-argo] 입력
[Pipeline] 선택
[OK] 버튼 클릭
1-3-1. Configure > General > GitHub project > Project url
Project url : https://github.com/k8s-1pro/install/
1-3-2. Configure > Advanced Project Options > Pipeline
Definition : Pipeline script from SCM
Definition > SCM : Git
Definition > SCM > Repositories > Repository URL : https://github.com/k8s-1pro/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
- 저장 지금빌드, 이후 파라미터와 함께 빌드 실행
- namespace 생성
- ArgoCD, Image Updater, Rollouts 배포
- ArgoCD 접속 후 관리자 비밀번호 확인하여 로그인
ㄴ 로그인 이후 [User Info] > [UPDATE PASSOWRD] 에서 변경 가능
https://192.168.56.30:30002/login
[jenkins@cicd-server ~]$ kubectl get -n argo secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d
L5DwRCgwiHD7CXDb
'Container > Kubernetes' 카테고리의 다른 글
[ Kubernetes ] Controller - ReplicaSet, Deployment (0) | 2024.11.20 |
---|---|
[ Kubernetes ] 배포 파이프라인 구축시 고려해봐야 할 부분 (1) | 2024.07.24 |
[ Kubernetes ] Helm과 Kustomize 비교하며 사용하기 - Kustomize 배포 (1) | 2024.07.22 |
[ Kubernetes ] Helm과 Kustomize 비교하며 사용하기 - Helm 배포 (0) | 2024.07.17 |
[Kubernetes] Jenkins Pipeline (4) | 2024.07.16 |