참고: https://argoproj.github.io/argo-workflows/quick-start/
ArgoCD 개념
- GitOps를 구현하기 위한 도구 중 하나
- GitOps: Git 저장소를 사용하는 소프트웨어 배포 접근 방식(인프라+소프트웨어)
- Declarative Application Management 사용
- git에 push한 desired state와 현재 kubernetes의 상태를 확인해 동기화 시켜줌
- 이외의 기능
- 멀티 쿠버네티스 클러스터 연계
- SSO 연동
- 권한 제어(RBAC)
- Hook 지원
- 알림 기능 등...
- https://argoproj.github.io/argo-workflows/#features
- 단점
- 쿠버네티스에서만 동작
- 많은 지식이 필요
- 빌드 파이프라인은 별도 구축 필요
- 버전마다 버그가 있어 최신 버전 권장
ArgoCD 설치
- ArgoCD 설치 - Rancher Desktop 기반의 k3s 환경에서 진행 중
❗ 튜토리얼의 설치 방법은 연습을 위한 것으로 실 운영 환경에선 설정 검토가 필수!!! ❗
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# 설치 확인
kubectl -n argocd get po
- argocd-server service 접속
접속을 위해 ClusterIP가 아닌 NodePort로 변경 (LoadBalancer가 있으면 그걸로 바꿔도 됨)
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'
# window powershell에서 작업할 경우
kubectl patch service argocd-server -n argocd -p '{\"spec\": {\"type\": \"NodePort\"}}'
# 초기 비밀번호 확인
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
# window powershell의 경우 base64 설치 안되어있음(그냥 직접 확인하자)
kubectl edit secret -n argocd argocd-initial-admin-secret
# 찾은 비밀번호를 base64로 디코딩!!!!
admin / 찾은 초기 비밀번호 로 로그인!
- hello-world 예제 배포
실습 자료: https://github.com/choisungwook/argocd-practice/tree/main/example-1
'Container > Kubernetes' 카테고리의 다른 글
[Kubernetes] Rancher Desktop 설정 (0) | 2023.09.25 |
---|