변경 배경기존 회사에서는 인프라 환경용 Application들을 모두 단일 배포로 묶어서 관리하고 있었습니다.또한 멀티 클러스터 환경임에도 불구하고 각 클러스터마다 별도의 Argo CD 인스턴스를 운영했기 때문에,환경 관리와 배포 작업이 반복되고, 변경 사항을 모든 클러스터에 동일하게 적용하는 데 많은 시간이 소요되었습니다.이러한 구조는 다음과 같은 불편함을 만들었습니다.동일한 인프라 리소스를 클러스터별로 반복 등록 및 배포공통 구성 버전 관리가 어렵고, 환경별 차이로 인한 누락 발생신규 클러스터 추가 시 배포 작업량이 기하급수적으로 증가해결 방향운영 효율성을 높이기 위해 개발자가 사용하는 Argo CD는 그대로 유지하면서,인프라 전용 Argo CD를 별도로 구축하여 모든 클러스터를 하나로 연결하는 방식..
대규모 조직이나 여러 환경(Dev/Prod)을 운영하는 경우, 각각의 Kubernetes 클러스터에 Argo CD를 설치하는 것은 관리 포인트가 많아지고 운영이 복잡해질 수 있습니다.이 글에서는 하나의 중앙 Argo CD 인스턴스로 여러 Kubernetes 클러스터를 관리하는 Multi-Cluster GitOps 환경 구성 방법을 소개합니다.목적Infra 전용 Argo CD 인스턴스를 통해 여러 환경(EKS Dev/Prod 등)의 리소스를 통합 관리Argo CD의 cluster add 기능을 활용해 멀티 클러스터로 애플리케이션 배포동일한 GitOps Workflow를 모든 클러스터에 일관성 있게 적용ArgoCD Multi-Cluster Setting1. 네트워크 연결 확인멀티 클러스터 구성을 위해서는 A..
Argocd란?ArgoCD는 Kubernetes를 위한 GitOps 기반의 CD 도구 입니다. Git 저장소를 Source 저장소로 담고, ArgoCD를 통해 Kubernetes 리소스를 클러스터에 자동으로 배포하고 동기화합니다.Keycloak + Argocd 연동ArgoCD는 기본적으로 여러 인증 방식을 지원하며, 그중 OIDC(OpenID Connect)를 통해 외부 IdP(Keycloak 포함)와 쉽게 통합할 수 있습니다. 이 글에서는 Keycloak을 ArgoCD의 인증 공급자로 연동하는 방법을 알아보고자 합니다.연동 구성 개요Keycloak에서 ArgoCD용 클라이언트(Client) 생성Keycloak Realm 설정 (scope, mapper 포함)ArgoCD에 OIDC 설정 적용 (argoc..
롤링 배포(Rolling Deployment) 무중단 배포의 가장 기본적인 방식 사용 중인 인스턴스 내에서 새 버전을 점진적으로 교체하는 방식 서비스 중인 인스턴스 하나를 로드밸런서에서 제거한 뒤, 새 버전을 배포 후 다시 라우팅하도록 하는 과정을 반복하여 모든 인스턴스에 새 버전의 애플리케이션을 배포 인스턴스마다 차례로 배포를 진행하기 때문에 상황에 따라 손쉽게 롤백이 가능한 장점 새 버전을 배포할 때 로드 밸런싱에 연결된 인스턴스 수가 감소하기 때문에 서비스 처리 용량을 고려해야 함 또한 서버가 여러대일 경우 배포가 진행되는 동안 구버전과 신버전이 공존하기 때문에 호환성 문제가 발생할 수 있음 블루-그린 배포(Blue-Green Deployment) 블루를 구버전, 그린을 신버전으로 지칭 신규 서버가..