Data Engineering 107

[1편] Kubernetes에 Helm & ArgoCD를 사용한 PostgreSQL 설치

📝 개요 이 글에서는 Helm과 ArgoCD를 활용하여 PostgreSQL을 Kubernetes에 배포하는 방법을 설명합니다.GitOps 기반의 배포 전략을 사용하여 PostgreSQL을 쉽게 관리할 수 있도록 ArgoCD를 활용합니다. 📌 1. Helm을 사용하여 PostgreSQL 설치 Helm은 Kubernetes 애플리케이션을 패키징하고 배포하는 도구입니다.PostgreSQL의 경우, Bitnami Helm Chart를 사용하여 배포할 수 있습니다. 1️⃣ 네임스페이스 생성 먼저 database 네임스페이스를 생성합니다.kubectl create namespace database 2️⃣ Helm Chart를 사용한 PostgreSQL 설치 다음 명령어를 실행하여 Bitnami PostgreSQ..

Kubernetes 환경에서 MySQL Helm Chart 설치하기

✅ 개요Kubernetes 환경에서 MySQL을 실행하려면 Helm Chart를 활용하는 것이 가장 효율적인 방법입니다. 이 글에서는 Bitnami MySQL Helm Chart를 사용하여 MySQL을 배포하는 방법을 설명합니다. 특히, Airflow 네임스페이스에 MySQL을 배포하고 비밀번호를 airflow로 설정하는 과정을 다르립니다.✅ 1. Helm 저장소 추가 및 업데이트먼저, Bitnami Helm Chart 저장소를 추가하고 최신 상황으로 업데이트합니다.helm repo add bitnami https://charts.bitnami.com/bitnamihelm repo update✅ 2. MySQL Helm Chart 설치다음 명령어를 실행하여 MySQL을 airflow 네임스페이스에 설치합..

🚀 Docker Desktop에서 Apache Airflow 설치 및 DAG 파일 마운트하기

Kubernetes 환경에서 Apache Airflow를 설치하고, DAG 파일을 로컬 디렉터리에서 마운트하는 방법을 정리해보았습니다.특히 Docker Desktop (Mac M1)에서 hostPath를 올바르게 설정하여 DAGs를 공유하는 방법과Helm을 사용하여 기존 Airflow 환경을 업그레이드하는 방법을 포함합니다.  ✅ 1. Docker Desktop 환경에서 Airflow 설치 개요 Docker Desktop의 내장 Kubernetes 기능을 사용하면 로컬 개발 환경에서 손쉽게 Apache Airflow를 실행할 수 있습니다.그러나, DAG 파일을 로컬 디렉터리에서 관리하려면 Docker Desktop의 파일 공유 설정과 Kubernetes hostPath 설정이 필요합니다. 📌 목표 1...

Airflow DAG 등록 및 MySQL 프로바이더 이슈 해결: Minikube와 Helm을 활용한 Airflow Cluster 구축 가이드

최근 저는 로컬 환경(Minikube 클러스터)에서 Helm을 이용해 Airflow를 배포하고, DAG 파일을 등록하는 과정에서 발생하는 문제들을 해결해 보았습니다. 이 글에서는 Hello World와 MySQL 연동 DAG를 예시로, Airflow DAG 등록 문제, MySQL 프로바이더 패키지 관련 이슈, 그리고 로컬과 클러스터 간 볼륨 마운트 설정 방법 등을 단계별로 정리해 보겠습니다.1. 간단한 Hello World DAG 등록먼저, 별다른 의존성이 없는 간단한 "Hello World" DAG는 Airflow가 기본적으로 잘 인식하는 것을 확인했습니다. 예시 코드는 다음과 같습니다.from datetime import datetime, timedeltafrom airflow import DAGfr..

Apache Airflow를 Minikube와 Helm으로 설치하기 (Apple M1 환경)

최근 로컬 개발 환경에서 워크플로우 관리 도구인 Apache Airflow를 사용해보고자, Apple M1 Pro 환경(MacBook Pro, 16GB 메모리)에서 Minikube와 Helm을 이용해 설치한 경험을 공유합니다. 이 글에서는 Minikube 클러스터 생성부터 Helm 차트를 활용한 Airflow 설치, 그리고 웹 UI 접속 및 초기 관리자 계정 설정까지의 전체 과정을 단계별로 정리합니다.1. Minikube 클러스터 생성먼저, Apple M1 Pro 환경에서 Docker 드라이버를 이용해 2노드 클러스터를 생성합니다.클러스터 생성 시, 총 7680MB 메모리와 4개의 CPU를 할당했습니다.다음 커맨드를 터미널에 입력합니다:minikube start --driver=docker --kuber..

ETL(Extract, Transform, Load)이란? 데이터 처리의 핵심 개념 완벽 정리!

오늘날 데이터는 기업의 핵심 자산입니다. 하지만 원본 데이터(raw data)는 다양한 소스에서 생성되며, 그대로 사용할 수 없는 경우가 많습니다. 이를 해결하기 위해 ETL(Extract, Transform, Load) 프로세스가 사용됩니다. 이 글에서는 ETL이 무엇인지, 왜 중요한지, 그리고 실무에서 어떻게 활용되는지 자세히 알아보겠습니다.  📌 1. ETL이란? ETL은 Extract(추출) → Transform(변환) → Load(적재) 의 약자로, 데이터를 가져와서 가공한 후 원하는 데이터 저장소에 저장하는 과정을 의미합니다. 🔹 ETL의 기본 개념 ✔ Extract (추출): 다양한 원천 시스템에서 데이터를 가져옴✔ Transform (변환): 데이터를 정제, 가공, 변환하여 원하는 형식..

Apache Airflow 가이드: 역할과 아키텍처 정리

1. Apache Airflow란? Apache Airflow는 워크플로우(Workflow) 및 데이터 파이프라인을 관리하는 오픈소스 오케스트레이션 도구입니다.주요 역할은 다음과 같습니다. ✅ 워크플로우 정의 및 실행 • DAG(Directed Acyclic Graph, 방향성 비순환 그래프) 기반으로 작업(Task) 간 실행 순서를 정의하고 자동화 • Python을 사용하여 코드 기반으로 워크플로우 작성 ✅ 스케줄링 및 모니터링 • 특정 주기(Cron, Time-based) 또는 이벤트 기반으로 작업 실행 • 실행 상태(성공, 실패, 재시도 등) 모니터링 및 로깅 제공 ✅ 확장성과 유연성 • AWS, GCP, Kubernetes 등 다양한 실행 환경과 연동 가능 • CeleryExecutor, Kube..

728x90