← 학습 카테고리

Learn

Airflow

151개 모듈 · 현재 117번째

Airflow 모듈 117/151 airflow-learn-117

사전 요구사항: 지원 Python/DB/K8s 버전과 OS 정책

Apache Airflow Official Documentation (in-repo snapshot) — Apache Software Foundation installation/prerequisites.rst (전체, L1-63)

이 모듈을 다 읽으면

  • 현재 문서 기준 Airflow가 테스트하는 Python, DB, Kubernetes 버전 범위를 말할 수 있다
  • MariaDB와 SQLite를 프로덕션에서 사용하면 안 되는 이유를 각각 설명할 수 있다
  • Airflow 프로덕션 환경으로 인정되는 OS와 그 근거를 설명할 수 있다

이 문서(2026년 시점 기준, Airflow 3.x 문서 자동생성 표)는 Airflow가 테스트하는 Python/DB/Kubernetes 버전 범위와 권장 최소 메모리, 그리고 MariaDB·SQLite·Windows 사용에 대한 경고를 정리한다. 버전 숫자는 시점에 따라 계속 갱신되는 자동생성 표이므로 실제 값은 이 문서에 명시된 대로 인용해야 한다.

테스트 대상 버전 매트릭스

이 문서에 자동 생성된 표(auto-generated tested versions) 기준으로 Airflow는 Python 3.10, 3.11, 3.12, 3.13, 3.14를 테스트한다. 데이터베이스는 PostgreSQL 14/15/16/17/18, MySQL 8.0·8.4·Innovation 릴리스, SQLite 3.15.0 이상을 지원한다. Kubernetes는 1.30부터 1.35까지 테스트 대상이다.

이 표는 `scripts/ci/prek/supported_versions.py` 훅으로 자동 갱신되므로, 실제 최신 지원 범위는 항상 이 표를 기준으로 확인해야 하며 임의로 최신 정보로 바꿔 쓰면 안 된다. 권장 최소 메모리는 4GB이지만, 실제 요구사항은 선택한 배포 방식에 크게 좌우된다.

핵심 포인트

  • (이 문서 기준) Python 3.10~3.14, PostgreSQL 14~18, MySQL 8.0/8.4/Innovation, SQLite 3.15.0+, Kubernetes 1.30~1.35를 테스트한다
  • 이 매트릭스는 CI 훅으로 자동 갱신되는 표이므로 실제 값은 항상 원문서를 근거로 인용해야 한다
  • 권장 최소 메모리는 4GB이나 실제 요구량은 배포 방식에 따라 크게 달라진다

MariaDB와 SQLite에 대한 경고

MariaDB는 MySQL과 상당히 유사해 보이지만 Airflow는 이를 백엔드로 공식 지원하지 않는다. 인덱스 처리 등에서 MariaDB와 MySQL 간에 알려진 문제가 있고, 마이그레이션 스크립트나 애플리케이션 실행을 MariaDB 기준으로 테스트하지 않는다. 과거 MariaDB를 사용하다 운영상 큰 어려움을 겪은 사례들이 있어 강하게 사용을 만류하며, 커뮤니티 지원 대상에서도 제외된다.

SQLite는 Airflow 테스트에서 사용되는 DB일 뿐 프로덕션에는 절대 사용하면 안 된다. 로컬 개발 환경에서는 최신 안정 버전의 SQLite 사용을 권장한다.

핵심 포인트

  • MariaDB는 MySQL과 유사해 보여도 인덱스 처리 등에서 문제가 있어 공식 비지원 대상이며 커뮤니티 지원도 받을 수 없다
  • SQLite는 테스트 전용이며 프로덕션 사용은 명시적으로 금지된다

지원 운영체제

Airflow는 현재 POSIX 호환 운영체제에서 실행 가능하다. 개발 환경으로는 컨트리뷰터들이 사용하는 비교적 최신 Linux 배포판과 최신 macOS 버전에서 정기적으로 테스트된다. Windows에서는 WSL2(Windows Subsystem for Linux 2) 또는 Linux 컨테이너를 통해서만 실행할 수 있다. Windows 네이티브 지원 작업은 GitHub 이슈 #10388에서 추적되고 있지만 우선순위가 높지 않다.

프로덕션 환경으로 지원되는 것은 Linux 기반 배포판뿐이다. CI 테스트와 커뮤니티 관리 DockerHub 이미지에 사용되는 유일한 배포판은 Debian Bookworm이다.

핵심 포인트

  • Windows는 WSL2나 Linux 컨테이너를 통해서만 실행 가능하며 네이티브 지원은 낮은 우선순위(#10388)로 추적 중이다
  • 프로덕션 환경으로 지원되는 것은 Linux 배포판뿐이며, CI와 공식 Docker 이미지는 Debian Bookworm을 사용한다