홈랩 #8 - CI/CD 구축해서 배포 자동화하기 (2)

개요 이전 글에서는 CI/CD 시스템의 핵심 구성 요소인 Harbor 레지스트리, Argo Events, Argo Workflows를 설치했다. 이번 글에서는 이 세 가지 구성 요소와 기존에 설치한 ArgoCD를 통합하여 완전한 CI/CD 파이프라인을 완성하고, GitOps 기반의 프로젝트 자동화 시스템을 구축하는 방법을 알아본다. CI/CD와 GitOps의 통합 기존 CI 시스템과 GitOps의 통합은 자연스러운 진화 과정이다. 기존의 CI는 코드 변경을 감지하여 빌드하고 테스트하는 데 중점을 두었다면, GitOps는 배포 상태를 선언적으로 관리하고 자동으로 동기화하는 데 중점을 둔다. 이 두 가지를 결합하면 코드 변경부터 자동 배포까지 완전 자동화된 파이프라인을 구축할 수 있다. ...

2월 28, 2025 · 15 분 · 3192 단어 · In-Jun Hwang

홈랩 #2 - ArgoCD를 활용한 GitOps 환경 구축

개요 이전 글에서는 홈랩 쿠버네티스 클러스터를 설치하고 기본 설정을 완료했다. 이번 글에서는 GitOps 방식으로 클러스터 구성요소들을 관리하기 위해 ArgoCD를 설치하고 구성하는 방법을 상세하게 다룬다. GitOps 방식은 코드로 인프라를 관리함으로써 버전 관리, 협업, 자동화 등 다양한 이점을 제공한다. GitOps란 무엇인가? GitOps는 Git 저장소를 인프라와 애플리케이션 설정의 “단일 진실 공급원(Single Source of Truth)“으로 사용하는 운영 모델이다. 쉽게 말해, 모든 인프라 구성 정보를 Git 저장소에 코드로 저장하고, 이 코드가 자동으로 실제 환경에 반영되도록 하는 방식이다. ...

2월 25, 2025 · 10 분 · 2031 단어 · In-Jun Hwang

helm 사용하기: Kubernetes 애플리케이션 패키지 관리 도구

서론 helm은 Kubernetes 애플리케이션을 손쉽게 패키징하고 배포하기 위한 도구이다. “Kubernetes를 위한 패키지 관리자"로 불리는 helm은 복잡한 애플리케이션 구조를 단순화하고, 버전 관리를 용이하게 하며, 애플리케이션의 생명주기 관리를 효율적으로 만들어준다. 이 글에서는 helm의 개념부터 고급 사용법까지 상세히 다뤄보겠다. 1. helm의 기본 개념 1.1 helm이란? helm은 Kubernetes 생태계에서 “패키지 관리자"로 불리는 도구이다. 리눅스의 apt나 yum, macOS의 Homebrew와 같은 역할을 Kubernetes에서 수행한다. helm을 사용하면 복잡한 Kubernetes 애플리케이션을 쉽게 정의하고, 설치하고, 업그레이드할 수 있다. 1.2 helm의 주요 개념 차트(Chart): Kubernetes 리소스를 설명하는 파일들의 집합이다. 차트는 템플릿화된 YAML 매니페스트 파일, 차트의 메타데이터를 포함하는 Chart.yaml 파일, 그리고 기타 설정 파일들로 구성된다. ...

7월 28, 2024 · 5 분 · 973 단어 · In-Jun Hwang