목록 보기
Airflow 환경 Docker compose로 containerization하기
데브옵스

Airflow 환경 Docker compose로 containerization하기

네이버 플레이스
네이버 플레이스
2023년 12월 4일

두줄요약

Airflow 개발 환경을 Docker compose로 컨테이너화해 배포와 유사한 상태에서 실행·디버깅할 수 있게 구성했습니다. PyCharm 연동, Executor 분리, 설정 통합으로 개발 생산성과 관리 편의도 높였습니다.

문제 상황

  • Airflow 개발 환경과 배포 환경의 실행 방식 차이로 인한 설정 불일치 위험
  • 로컬 Python 가상환경과 OS 차이로 발생하는 환경 이격 문제
  • K8S 운영 환경과 유사한 형태로 로컬 개발·디버깅을 맞출 필요성

해결 방법

  • Airflow를 Docker compose로 컨테이너화해 동일한 형상에서 개발·테스트 수행
  • Redis, PostgreSQL, airflow-init, Scheduler, Webserver 간 의존성을 depends_on으로 구성
  • 배포 환경은 CeleryExecutor, 개발 환경은 LocalExecutor로 분리해 yaml 파일을 공통/개별로 관리

구조와 흐름

  • Airflow의 Scheduler, Executor, Webserver 역할과 컴포넌트 연결 관계 정리
  • 실행 순서를 반영한 멀티 컨테이너 구성과 volume mount로 로컬 DAG 참조
  • PyCharm에서 Docker compose 기반 interpreter와 run/debug configuration으로 테스트·디버깅

적용해볼 점

  • 환경별 설정 차이를 줄이기 위한 컨테이너 기반 개발 환경 도입
  • 공통 설정과 실행 설정 분리를 통한 compose 파일 관리 단순화
  • Makefile, Helm value, Run configuration 네이밍 등 운영 편의성 개선

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...