gitops 49

[Ep.4] [GitOps와 Argo CD의 기초 #4] Argo CD 아키텍처: 내부 구성 요소와 동작 원리

🔹 Argo CD 아키텍처란?Argo CD는 GitOps 기반의 Kubernetes 배포 자동화 도구로, Git 저장소와 Kubernetes 클러스터 간의 상태를 지속적으로 동기화합니다.이러한 기능을 수행하기 위해 Argo CD는 **여러 개의 핵심 구성 요소(컴포넌트)**로 이루어져 있습니다.Argo CD의 아키텍처를 이해하면, 각 구성 요소가 어떻게 상호작용하는지를 알 수 있으며, 이를 통해 운영 및 문제 해결 능력을 더욱 향상시킬 수 있습니다.🔹 Argo CD의 주요 구성 요소Argo CD는 크게 5개의 핵심 구성 요소로 이루어져 있습니다.구성  요소설명API 서버 (argocd-server)사용자 요청을 처리하고, 인증 및 RBAC(Role-Based Access Control) 관리를 담당리..

[Ep.3] [GitOps와 Argo CD의 기초 #3] Argo CD란 무엇인가? GitOps를 실무에 적용하는 최고의 도구

🔹 Argo CD란 무엇인가?✅ Argo CD의 정의Argo CD는 Kubernetes 환경에서 GitOps 원칙을 구현하는 지속적 배포(Continuous Deployment) 도구입니다.Git에 저장된 선언적(Declarative) 매니페스트를 기반으로 Kubernetes 클러스터의 상태를 자동으로 동기화하며,운영 환경을 유지할 수 있도록 돕습니다. Argo CD는 다음과 같은 기능을 제공합니다.✔ Git 저장소와 Kubernetes 클러스터 동기화 → Git에 저장된 선언적 매니페스트를 Kubernetes에 자동 적용✔ 자동 및 수동 동기화 모드 지원 → Git에서 변경이 발생하면 자동으로 반영할 수도 있고, 승인 후 동기화할 수도 있음✔ RBAC 및 인증 기능 제공 → 다중 사용자 환경에서 권한..

[Ep.2] [GitOps와 Argo CD의 기초 #2] GitOps의 핵심 원칙과 Kubernetes에서의 활용법

🔹 GitOps의 핵심 원칙GitOps는 단순히 Git을 활용한 배포 방식이 아니라, Kubernetes에서 CI/CD를 자동화하는 운영 모델입니다.GitOps 방식이 효과적으로 작동하려면 반드시 4가지 핵심 원칙을 따라야 합니다.✅ 1. 선언적(Declarative) 구성GitOps에서는 모든 인프라와 애플리케이션을 선언적(Declarative) 방식으로 정의해야 합니다.선언적 방식이란, "이렇게 되어야 한다" 라는 최종 상태를 정의하는 방식입니다.Kubernetes의 Deployment, Service, ConfigMap, Secret 등 모든 리소스를 YAML 파일로 선언합니다.Git 저장소에 선언된 YAML 파일을 변경하면, 자동으로 Kubernetes 클러스터가 업데이트됩니다.# 선언적 방식 ..

[Ep.1] [GitOps와 Argo CD의 기초 #1] GitOps란 무엇인가? 기존 Kubernetes 배포 방식과의 차이점

🔹 GitOps란 무엇인가?✅ GitOps의 정의GitOps는 애플리케이션 및 인프라를 Git 저장소를 단일 신뢰 원천(Single Source of Truth)으로 삼아 자동으로 관리하는 운영 방식입니다.즉, Kubernetes 환경에서 Git에 저장된 선언적(Declarative) 설정을 기반으로 배포와 운영을 자동화하는 방법론입니다.✅ GitOps의 핵심 목표1️⃣ Git 저장소를 단일 운영 원천으로 사용 → 모든 변경 사항이 Git에서 관리됨2️⃣ 선언적(Declarative) 방식으로 인프라 및 애플리케이션 설정 관리3️⃣ 자동화된 동기화 및 배포 → Git의 변경 사항이 자동으로 Kubernetes에 적용됨4️⃣ 감사 가능(Auditability) 및 롤백 지원 → Git 커밋을 기반으로 과..

[Scenario Playbook - 심화편 | Medium Level #10] CI/CD 파이프라인을 활용한 배포 자동화 및 롤백 전략

쿠버네티스 환경에서는 배포 자동화가 필수적이며, 문제가 발생했을 때 빠르게 롤백할 수 있는 기능이 필요합니다.이를 위해 CI/CD 파이프라인을 활용하여 애플리케이션을 자동으로 배포하고, 문제가 발생하면 즉시 롤백하는 방법을 다룹니다. 📌 글에서 다루는 상황들  1. CI/CD 파이프라인을 활용하여 자동 배포 환경 구축 2. 배포 중 장애 발생 시 빠르게 롤백하는 전략 3. kubectl을 활용한 배포 상태 모니터링 및 롤백 실행 방법 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ CI/CD 파이프라인을 활용하여 자동 배포 환경 구축 ❓ 문제 상황 운영팀에서 애플리케이션을 변경할 때마다 수동으로 배포하는 과정에서 많은 시간이 소요되고 있습니다.이를..

📌 [Deployment 심화편 #8] Deployment와 Multi-Cluster Deployment: 다중 클러스터 배포 전략

1️⃣ 개요 대규모 서비스에서는 단일 Kubernetes 클러스터만으로 모든 애플리케이션을 운영하는 것이 어렵습니다. • 여러 리전(Region) 및 데이터센터에 배포하여 고가용성을 확보해야 할 경우 • 각각의 팀이 독립적으로 운영하는 Kubernetes 클러스터에서 동일한 애플리케이션을 배포해야 할 경우 • 재해 복구(Disaster Recovery, DR) 환경을 구축해야 할 경우 이때 필요한 것이 Multi-Cluster Deployment(다중 클러스터 배포) 전략입니다.이 전략을 활용하면 여러 Kubernetes 클러스터에서 애플리케이션을 효율적으로 배포하고 운영할 수 있습니다. 이번 글에서는 Multi-Cluster Deployment의 개념과, GitOps 및 Kubernetes Federa..

[6편] FastAPI 벡터 검색 API를 Kubernetes에 배포

📌 개요 이 글에서는 FastAPI 벡터 검색 API를 Docker 컨테이너로 패키징하고, Kubernetes에 배포하는 방법을 설명합니다.✅ FastAPI를 Docker로 컨테이너화✅ Kubernetes에서 PostgreSQL과 연동하여 FastAPI 실행✅ Helm & ArgoCD를 활용한 GitOps 기반 배포 🚀 1. FastAPI Docker 컨테이너화 FastAPI 애플리케이션을 Kubernetes에서 실행하려면 Docker 컨테이너로 패키징해야 합니다. 1️⃣ Dockerfile 생성 📌 프로젝트 디렉터리 (fastapi-vector-search/)에 Dockerfile 추가# Base imageFROM python:3.9# Set working directoryWORKDIR /app#..

ArgoCD 설치 및 GitOps 기반 애플리케이션 배포

🎯 개요 이 글에서는 ArgoCD를 활용하여 Kubernetes 애플리케이션을 GitOps 방식으로 배포하는 방법을 설명합니다.Git을 단일 소스로 사용하고, ArgoCD가 Git 저장소 변경 사항을 감지하여 자동으로 Kubernetes에 배포하는 방식입니다. ✅ 목표 • Helm을 사용하여 ArgoCD 설치 • ArgoCD UI 및 CLI를 통해 배포 관리 • GitHub 저장소와 연결하여 GitOps 방식으로 애플리케이션 자동 배포 • Helm values.yaml을 활용하여 환경별 설정 관리  🛠 1️⃣ ArgoCD 설치 (Helm 사용) ArgoCD는 Kubernetes에 배포되며, Helm을 사용하면 간편하게 설치할 수 있습니다.  ✅ 1-1. Helm Chart를 이용한 ArgoCD 설치h..

📌 Kubernetes CI/CD: GitOps로 자동 배포 환경 구축하기

1️⃣ Kubernetes에서 CI/CD가 필요한 이유? 컨테이너 기반 애플리케이션을 Kubernetes에 배포하려면 보통 다음과 같은 과정이 필요합니다. 1. 코드 작성 → 새로운 기능 개발 2. 빌드 & 테스트 → 컨테이너 이미지 생성 및 테스트 3. 이미지 배포 → Docker Registry(GitHub Container Registry, Docker Hub 등)로 Push 4. Kubernetes 적용 → kubectl apply 명령으로 Kubernetes에 배포 하지만 이 과정을 수동으로 수행하면 실수 발생 가능성이 높고, 배포 속도도 느려질 수 있습니다. ✅ CI/CD 파이프라인을 구축하면 코드 변경 시 자동으로 배포할 수 있습니다!✅ GitOps를 활용하면 배포 과정이 더욱 안전하고 일관..

728x90