argocd
GitOps, ArgoCD Overview
Ref: https://argo-cd.readthedocs.io/en/stable/#overview Argo CD - Declarative GitOps CD for Kubernetes Overview What Is Argo CD? Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Why Argo CD? Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle ma argo-cd.readthedocs.io What Is Argo CD..
Argocd를 사용하여 helm chart 배포 및 주의사항
1. helm repo 사용 Application CRD # applications.yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: tomcat namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: apps source: repoURL: https://charts.bitnami.com/bitnami chart: tomcat targetRevision: "10.1.21" destination: namespace: tomcat server: "https://kubernetes.default.svc" syncPolicy: autom..
argoCD App of Apps 패턴을 사용한 서비스 배포
개요 GitOps로 app 을 일괄적으로 관리하고 new app 이 추가되어도 구조가 바뀌지 않도록 하기 위한 방법을 생각해봤습니다. 그래서 하나의 폴더에 child application 을 생성하도록 하는 App of Apps 패턴을 사용하게 되었습니다. 이를 사용하면 배포 및 구성할 수 있는 apps 들을 선언적으로 관리 할 수 있습니다. https://argo-cd.readthedocs.io/en/stable/operator-manual/cluster-bootstrapping/ 디렉터리(GitOps) 구조 ├── application.yaml ├── apps │ ├── app-apache.yaml │ ├── app-kustomize-guestbook.yaml │ └── app-helm-nginx.y..
Github, Jenkins, argoCD를 사용하여 CI/CD 구축
프로젝트의 발단은 위 아키텍처를 보고 시작했습니다. 개발자가 도커 이미지를 변경하여 Github에 push 하면 Jenkins에서 도커 이미지를 build 하고, 빌드 번호를 이미지 태그에 붙여 ECR에 push 합니다. 그리고 Github의 deployment.yaml 파일에 이미지 태그의 정보를 업데이트합니다. argoCD에서 EKS Cluster에 Pod를 배포합니다. 처음으로 제대로 된 CICD를 구축해 볼 생각에 즐거웠습니다. 하지만 과정은 그렇게 즐겁지만은 않았죠... 젠킨스 파일 삽질을 꽤 했습니다... 시작해보겠습니다. 작업 순서 1. EKS, ECR 생성 2. Github에 코드 올리기 3. Jenkins 설치 및 설정 4. Jenkinsfile 5. argoCD 설치 6. 확인 1. E..