2025/03/17 50

[Ep.17] [Argo CD 배포 & 자동화 #2] Argo CD와 Argo Rollouts를 활용한 블루-그린 및 카나리 배포

🔹 배포 전략(Deployment Strategy)이 중요한 이유Kubernetes 환경에서는 새로운 애플리케이션 버전을 배포할 때, 서비스 중단 없이 안정적으로 배포하는 것이 매우 중요합니다.전통적인 배포 방식(즉시 배포)은 트래픽을 한 번에 새 버전으로 전환하기 때문에 문제가 발생할 경우 서비스 장애가 발생할 가능성이 높습니다. ✅ 이를 해결하기 위해 사용되는 대표적인 배포 전략: ✔ 블루-그린 배포(Blue-Green Deployment) → 두 개의 환경(Blue와 Green) 중 하나만 활성화✔ 카나리 배포(Canary Deployment) → 트래픽의 일부만 새 버전으로 점진적 전환 Argo Rollouts는 이러한 고급 배포 전략을 지원하는 Kubernetes 컨트롤러로,Argo CD와 함..

[Ep.16] [Argo CD 배포 & 자동화 #1] Argo CD와 GitOps를 활용한 완전 자동화 배포 구축

🔹 완전 자동화 배포란?완전 자동화 배포(Full Automated Deployment)는 GitOps 원칙을 기반으로 코드 변경이 자동으로 배포되는 시스템을 의미합니다.Argo CD를 활용하면 Git 저장소의 상태를 Kubernetes 클러스터에 자동으로 반영하여 배포 과정을 완전히 자동화할 수 있습니다. ✅ 완전 자동화 배포의 주요 특징✔ Git 저장소를 단일 신뢰 원천(Source of Truth)으로 사용✔ 코드 변경이 감지되면 자동으로 애플리케이션이 배포됨✔ 수동 개입 없이 Kubernetes 클러스터 상태를 유지 및 복구 가능✔ CI/CD 파이프라인과 통합하여 최적화된 GitOps 워크플로우 구축 가능🔹 GitOps 기반의 자동화 배포 구성 요소GitOps 방식으로 완전 자동화 배포를 구성..

[Ep.15] [Argo CD 운영 #10] Argo CD를 활용한 다중 클러스터(Multi-Cluster) 배포 전략

🔹 Argo CD에서 다중 클러스터 배포란?Argo CD는 기본적으로 단일 Kubernetes 클러스터뿐만 아니라 여러 개의 클러스터(Multi-Cluster)를 관리할 수 있는 기능을 제공합니다.이를 활용하면 하나의 Argo CD 인스턴스에서 여러 개의 Kubernetes 클러스터를 동시에 배포 및 관리할 수 있습니다. ✅ 다중 클러스터 배포가 필요한 이유✔ Dev, Staging, Prod 환경을 분리하여 운영 가능✔ 다양한 지역(Region)에 배포하여 가용성을 높임✔ 테넌트별(각 팀별) 클러스터를 따로 관리 가능✔ 하나의 Argo CD에서 중앙 집중식으로 여러 클러스터를 제어 가능🔹 Argo CD 다중 클러스터 구성 방식Argo CD에서 다중 클러스터 배포를 지원하는 방식은 크게 두 가지가 있..

[Ep.14] [Argo CD 운영 #9] Argo CD 프로젝트(Project)와 RBAC(Role-Based Access Control) 설정

🔹 Argo CD에서 프로젝트(Project)란?Argo CD에서는 여러 개의 애플리케이션을 프로젝트(Project) 단위로 그룹화하여 관리할 수 있습니다.프로젝트를 활용하면 애플리케이션을 보다 체계적으로 관리하고,네임스페이스 및 클러스터별 접근을 제한할 수 있는 RBAC(Role-Based Access Control)과 연동하여 보안성을 강화할 수 있습니다. ✅ Argo CD 프로젝트의 주요 기능✔ 애플리케이션을 논리적으로 그룹화하여 관리✔ 특정 네임스페이스 또는 클러스터에 대한 배포 제한 가능✔ RBAC(Role-Based Access Control)를 적용하여 권한 제어 가능✔ Git 저장소 및 Helm 차트 접근 권한 설정 가능🔹 Argo CD 프로젝트 생성 및 관리✅ 1. 프로젝트 생성 (Y..

[Ep.13] [Argo CD 운영 #8] Argo CD에서 애플리케이션 상태 모니터링 및 알림(Notification) 설정

🔹 Argo CD에서 애플리케이션 상태 모니터링이 중요한 이유Argo CD는 GitOps 기반의 배포 자동화 도구로, 지속적으로 애플리케이션 상태를 모니터링하고 배포 상태를 추적할 수 있습니다.운영 환경에서 Kubernetes 애플리케이션의 정상적인 동작을 보장하기 위해서는 실시간 모니터링과 알림(Notification) 설정이 필수입니다. ✅ Argo CD 상태 모니터링 및 알림 설정의 주요 목적✔ 애플리케이션 동기화 상태(Sync Status) 및 헬스 상태(Health Status) 모니터링✔ 배포 실패 또는 OutOfSync 상태 발생 시 즉시 감지✔ Slack, 이메일, 웹훅(Webhook) 등의 알림 시스템과 연동✔ 문제 발생 시 신속한 대응 및 롤백 수행 가능🔹 Argo CD의 애플리케이..

[Ep.12] [Argo CD 운영 #7] Argo CD의 롤백(Rollback) 및 배포 이력 관리

🔹 Argo CD에서 롤백(Rollback)이란?Argo CD는 GitOps 기반의 배포 자동화 도구로, 애플리케이션의 변경 이력을 추적하고 특정 버전으로 롤백(Rollback)할 수 있는 기능을 제공합니다.애플리케이션이 정상적으로 동작하지 않거나 문제가 발생했을 때,Argo CD를 사용하여 손쉽게 이전 버전으로 복구할 수 있습니다. ✅ Argo CD의 롤백 주요 개념✔ 배포 이력(Deployment History)을 자동으로 저장✔ 이전 배포 버전으로 쉽게 롤백 가능✔ Git 저장소 기반의 롤백 및 Kubernetes 상태 롤백 지원✔ CLI 및 UI에서 롤백 실행 가능🔹 Argo CD 배포 이력(Deployment History) 관리Argo CD는 각 애플리케이션의 배포 이력을 자동으로 저장하며..

[Ep.11] [Argo CD 운영 #6] Argo CD에서 동기화(Sync) 및 배포 전략 최적화

🔹 Argo CD에서 동기화(Sync)란?Argo CD의 동기화(Sync) 기능은 GitOps 원칙을 기반으로 Kubernetes 애플리케이션을 Git 상태와 일치시키는 프로세스입니다.Git 저장소에서 선언된 상태와 Kubernetes 클러스터의 실제 상태를 비교하여,필요한 경우 자동 또는 수동으로 변경 사항을 적용할 수 있습니다. ✅ 동기화(Sync)의 핵심 개념✔ Git 저장소에 선언된 매니페스트가 원본(Source of Truth) 역할✔ Git 상태와 Kubernetes 클러스터의 상태를 지속적으로 비교✔ 불일치 발생 시 자동 또는 수동으로 동기화 가능✔ 롤백(Rollback), Prune(정리), Self-Healing 등의 기능 지원🔹 Argo CD 동기화 상태(Sync Status) 이해..

[Ep.10] [Argo CD 운영 #5] Argo CD에서 Helm과 Kustomize를 활용한 배포 전략

🔹 Helm과 Kustomize란?Kubernetes에서 애플리케이션을 배포할 때, YAML 매니페스트를 효율적으로 관리하고 재사용할 수 있는 두 가지 주요 방법이 있습니다.1️⃣ Helm → 패키지 관리 방식으로, 애플리케이션을 템플릿화하여 배포2️⃣ Kustomize → 기존 YAML을 수정하여 오버레이 방식으로 배포 Argo CD는 Helm과 Kustomize를 모두 지원하며, 이를 활용하면 GitOps 방식의 배포를 더욱 유연하게 관리할 수 있습니다.🔹 Helm을 활용한 Argo CD 배포 전략✅ 1. Helm이란?Helm은 Kubernetes 애플리케이션을 패키징하고 배포할 수 있도록 도와주는 도구입니다.Helm 차트(Chart)를 사용하면, YAML 매니페스트를 템플릿화하여 재사용성을 높이..

[Ep.9] [Argo CD 운영 #4] Argo CD에서 애플리케이션을 정의하는 YAML 구조 분석

🔹 Argo CD에서 애플리케이션을 정의하는 방법Argo CD는 **Application CRD(Custom Resource Definition)**를 통해 애플리케이션을 선언적으로 관리합니다.즉, YAML 매니페스트를 작성하여 Git 저장소와 Kubernetes 클러스터 간의 동기화를 설정할 수 있습니다.이번 글에서는 Argo CD 애플리케이션을 정의하는 YAML의 주요 구조와 설정 옵션을 분석하고,각 항목이 어떤 역할을 수행하는지 상세히 설명하겠습니다.🔹 Argo CD 애플리케이션 YAML의 주요 구성 요소Argo CD에서 애플리케이션을 정의하는 YAML은 다음과 같은 주요 섹션으로 구성됩니다.1️⃣ 메타데이터(metadata) → 애플리케이션의 이름 및 네임스페이스 설정2️⃣ 사양(spec) →..

[Ep.8] [Argo CD 운영 #3] Argo CD의 애플리케이션(Application) 개념과 Kubernetes 리소스 관리

🔹 Argo CD에서 애플리케이션(Application)이란? Argo CD에서 **애플리케이션(Application)**은 Kubernetes 클러스터에서 관리되는 모든 리소스의 집합을 의미합니다.즉, Argo CD는 Git 저장소에 정의된 애플리케이션의 선언적 매니페스트를 읽고,이를 Kubernetes 클러스터에 배포하고 동기화(Sync)하는 역할을 합니다. ✅ Argo CD 애플리케이션의 특징✔ GitOps 원칙 기반 → Git 저장소에 정의된 상태를 Kubernetes에 자동 반영✔ 선언적(Declarative) 방식 → YAML 파일을 사용하여 정의✔ 자동화된 동기화 → Git 상태 변경 시 자동 업데이트 가능✔ 리소스 모니터링 → Kubernetes 리소스의 상태를 지속적으로 감시 🔹 Ar..

728x90