홈랩 #4 - 내부 서비스 접근 구성하기

개요 이전 글에서는 Longhorn 분산 스토리지 시스템을 설치했다. 이번 글에서는 홈랩 쿠버네티스 클러스터에 Traefik 인그레스 컨트롤러를 설치하고 내부 네트워크를 구성하는 방법을 알아본다. 인그레스 컨트롤러 선택 홈랩 환경에서 쿠버네티스 서비스를 외부에 노출하는 방법은 여러 가지가 있다: NodePort: 각 노드의 특정 포트(30000-32767)를 통해 서비스에 접근 LoadBalancer: MetalLB와 같은 로드 밸런서 구현체를 사용 Ingress: HTTP/HTTPS 트래픽을 서비스로 라우팅하는 규칙 정의 NodePort는 설정이 간단하지만 포트 번호를 기억해야 하는 불편함이 있고, LoadBalancer는 각 서비스마다 별도의 IP가 필요하다. 반면 인그레스 컨트롤러는 URL 경로와 호스트 이름 기반 라우팅, SSL/TLS 종료, 인증 등 다양한 기능을 제공하므로 홈랩 환경에서 가장 적합한 방법이다. ...

2월 25, 2025 · 7 분 · 1293 단어 · In-Jun Hwang

홈랩 #3 - 쿠버네티스 스토리지 구성하기

개요 이전 글에서는 ArgoCD를 설치하여 GitOps 환경을 구축했다. 이번 글에서는 홈랩 쿠버네티스 클러스터에 Longhorn 분산 스토리지 시스템을 설치하고 구성하는 방법을 알아본다. 홈랩 환경의 스토리지 고민 홈랩 쿠버네티스를 구축하면서 가장 큰 고민 중 하나는 스토리지 구성이었다. 데이터베이스, 모니터링 도구, 백업 시스템 등 대부분의 실용적인 애플리케이션들은 영구 스토리지가 필요하다. 처음에는 다음과 같은 방법을 시도했다: 로컬 스토리지: 각 노드의 로컬 스토리지를 사용했지만, 파드가 다른 노드로 재스케줄링되면 데이터에 접근할 수 없는 문제가 발생했다. ...

2월 25, 2025 · 5 분 · 949 단어 · 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

GitOps 배포 전략: Push vs Pull 완벽 비교

GitOps란? GitOps는 2017년 Weaveworks에서 처음 소개한 개념이다. 클라우드 네이티브 환경, 특히 Kubernetes 기반 시스템에서의 지속적 배포(CD)에 초점을 맞추고 있다. 모든 인프라 구성과 애플리케이션 설정을 코드로 관리하며, Git 저장소를 통해 이를 버전 관리한다. Push 방식의 배포 전략 Push 방식은 전통적인 CI/CD 파이프라인과 유사하게 작동한다. 주요 특징과 프로세스는 다음과 같다. 빌드 및 배포 프로세스 빌드 단계 개발자의 코드 Push로 CI 파이프라인이 시작된다 CI 서버에서 빌드, 테스트를 수행한다 컨테이너 이미지를 생성하고 레지스트리에 등록한다 배포 단계 ...

2월 14, 2025 · 2 분 · 315 단어 · In-Jun Hwang