argocd

· Kubernetes
1. 배경 이전 글을 통해 Github action과 ArgoCD를 통해 Spring Cloud 기반의 MSA 애플리케이션의 CI/CD를 구축하였습니다. 하지만 해당 구조는 실제 환경에서 사용하게 부족한 부분이 많습니다. 개발계/운영계가 나누어져 있지 않다. Image의 버전 관리가 되어 있지 않다. 배포 방법에 대한 고려가 되어 있지 않다(Rolling,Blue/Green 등) 롤백 기능이 존재하지 않는다. 이러한 문제점을 해결하여 실제 프로젝트에 적용할 수 있도록 구조를 변경하며, 테스트한 내용을 기록합니다. 2. 환경 분리 우선 개발계/운영계는 각각 다른 쿠버네티스 클러스터입니다. 두 개의 클러스터를 한 개의 파이프 라인을 통해 관리하다 보니 다양한 변수를 고려해야 돼서 초기 구축에 공수가 많이 들..
· Spring Cloud
1. 배경 이전 글을 통해 기본 적인 애플리케이션의 스켈레톤 코드를 작성하고, Spring Cloud on Kubernetes 프레임워크를 사용해서 쿠버네티스에 배포하는 과정까지 진행하였습니다. 이후 실제 로직을 작성하며 개발을 진행하면서 당연하게도 CI/CD 구성에 필요성을 느끼게 되었는데, 테스트 애플리케이션의 경우 MS(MicroService)가 2개이지만 실제 개발되는 애플리케이션의 경우 수많은 마이크로 서비스로 구성되기 때문에 각 모듈을 수동으로 빌드, 배포하는 과정에 시간을 많이 소모하였습니다. 이를 위하여 작업의 효율성을 위해 CI/CD를 구축하며 테스트 한 과정을 기록합니다. 사실 이전에도 작성한 Kubernetes CI/CD 구축 글을 통하여 동일한 구조로 Jenkins-Argo 조합으로..
· Kubernetes
1. Overviews Kubernetes에서 CI/CD를 테스트 한 내용을 기록합니다. 기존 작성한 Kubernetes CI/CD 글의 경우 Jenkins만 이용하였지만, 이번 테스트에서는 일반적으로 많이 사용하는 Jenkins-ArgoCD 조합을 사용하여 파이프라인을 구성하고 Docker build를 위해 Kaniko를 이용합니다. 또한 Github에서 webhook을 설정해 push가 발생하였을 때 trigger가 발생해 자동화가 되도록 설정하였습니다. 전체적인 플로우는 다음과 같습니다. 효율적인 관리를 위해 Source Repo 와 Manifest Repo를 나누어서 관리하였지만 일반적인 경우 charts, 나 mainfests 파일을 만들어 동일한 repository에서 사용하기도 합니다. Je..
seokbin
'argocd' 태그의 글 목록