CI/CD 31

[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.7] [Argo CD 운영 #2] Argo CD 웹 UI 탐색: 주요 기능과 활용법

🔹 Argo CD 웹 UI란?Argo CD는 웹 UI, CLI, API를 통해 Kubernetes 애플리케이션을 관리할 수 있습니다.그중 웹 UI는 배포 상태를 직관적으로 확인하고, 동기화(Sync) 및 롤백(Rollback) 등의 작업을 간편하게 수행할 수 있는 강력한 도구입니다. ✅ Argo CD 웹 UI의 주요 기능:✔ 전체 애플리케이션 목록 및 상태 모니터링✔ 특정 애플리케이션의 동기화(Sync) 및 롤백(Rollback)✔ 애플리케이션의 리소스 트리 및 로그 조회✔ Kubernetes 클러스터 및 프로젝트 관리🔹 Argo CD 웹 UI 접속 방법✅ 1. 포트 포워딩을 이용한 로컬 접속Argo CD는 기본적으로 내부 네트워크에서 실행되므로, 로컬에서 접근하려면 포트 포워딩이 필요합니다.kube..

[Ep.5] [GitOps와 Argo CD의 기초 #5] Argo CD 설치 가이드: Helm을 활용해 Kubernetes에 배포하는 방법

🔹 Argo CD 설치 개요Argo CD를 Kubernetes 클러스터에 배포하는 방법에는 여러 가지가 있습니다.kubectl을 이용한 수동 설치YAML 매니페스트를 직접 적용Helm Chart를 활용한 배포 (추천 방법)이번 글에서는 Helm Chart를 활용하여 Argo CD를 Kubernetes에 배포하는 방법을 다룹니다.Helm을 사용하면 설치가 간편하고, 구성을 커스터마이징하기 쉽기 때문입니다.🔹 Argo CD 설치를 위한 사전 준비 사항✅ 1. Kubernetes 클러스터 준비Argo CD는 Kubernetes 환경에서 실행되므로, 사전에 클러스터가 준비되어 있어야 합니다.# 클러스터 상태 확인kubectl cluster-infokubectl get nodes✅ 2. Helm 설치 확인He..

[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 커밋을 기반으로 과..

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 파이프라인 최적화 (GitHub Actions, ArgoCD 심화)

1️⃣ Kubernetes에서 CI/CD를 최적화해야 하는 이유? 기본적인 CI/CD 파이프라인을 사용하면 GitHub Actions + ArgoCD를 활용하여 애플리케이션을 배포할 수 있습니다.하지만 실무에서는 CI/CD를 더욱 최적화하여 배포 속도를 높이고, 안전성을 강화하는 것이 중요합니다. ✅ CI/CD 최적화가 필요한 이유✔ 배포 속도 최적화 → 빌드 및 배포 시간을 단축✔ GitOps 기반 배포 안정성 강화 → Git 상태와 Kubernetes를 동기화✔ 배포 승인 및 롤백 자동화 → 안전한 배포 및 빠른 복구 지원✔ 다중 환경(dev, staging, prod) 배포 자동화  이 글에서는 GitHub Actions + ArgoCD를 활용하여 Kubernetes CI/CD 파이프라인을 더욱 최..

728x90