관리 및 배포
관리 및 배포 (Administration and Deployment)
이 문서는 Airflow 배포(production)에 DAG를 배포하고, Airflow 배포 환경을 운영·관리하는 데 필요한 내용을 안내하는 목차 페이지예요. 운영 환경에서 Airflow를 안정적으로 돌리는 방법, 로깅·모니터링, 쿠버네티스 배포, DAG 파일 처리, 스케줄러 튜닝, 플러그인 관리 등 Airflow를 실제로 서비스에 사용할 때 꼭 알아두면 좋은 주제들을 모아 둔 곳이랍니다.
출처: 문서
본문
이 섹션에서는 DAG를 production 환경에 배포하는 방법과 Airflow 배포를 운영하는 방법에 대한 정보를 다룹니다.
- Production 배포
- 데이터베이스 백엔드 (Database backend)
- 멀티 노드 클러스터 (Multi-Node Cluster)
- 로깅 (Logging)
- 설정 (Configuration)
- 스케줄러 가동 시간 (Scheduler Uptime)
- Production 컨테이너 이미지 (Production Container Images)
- Kubernetes용 Helm 차트 (Helm Chart for Kubernetes)
- Airflow 실시간 업그레이드 (Live-upgrading Airflow)
- Kerberos 인증 워커 (Kerberos-authenticated workers)
- Google Cloud의 보안 서버·서비스 접근 (Secured Server and Service Access on Google Cloud)
- 로깅 & 모니터링 (Logging & Monitoring)
- Kubernetes
- Lineage
- Listeners
- DAG 번들 (Dag Bundles)
- DAG 번들이 왜 중요할까요? (Why are Dag bundles important?)
- DAG 번들의 종류 (Types of Dag bundles)
- DAG 번들 설정하기 (Configuring Dag bundles)
- 사용자 가장(impersonation)과 함께 DAG 번들 사용하기 (Using DAG Bundles with User Impersonation)
- 기본 재실행 버전 동작 설정 (Configuring Default Rerun Version Behavior)
- 커스텀 DAG 번들 작성하기 (Writing custom Dag bundles)
- DAG 직렬화 (Dag Serialization)
- 모듈 관리 (Modules Management)
- Python에서 패키지/모듈 로딩이 작동하는 원리 (How package/modules loading in Python works)
- 패키지의 일반적인 구조 (Typical structure of packages)
- Airflow 내장
PYTHONPATH항목 (Built-inPYTHONPATHentries in Airflow) - 코드 이름 짓기의 모범 사례 (Best practices for your code naming)
- 자신의
PYTHONPATH로딩 설정 살펴보기 (Inspecting yourPYTHONPATHloading configuration) PYTHONPATH에 디렉터리 추가하기 (Adding directories to thePYTHONPATH)- Python에서 패키지 만들기 (Creating a package in Python)
- 스케줄러 (Scheduler)
- DAG 파일 처리 (Dag File Processing)
- DAG 프로세서 성능 미세 조정 (Fine-tuning your Dag processor performance)
- DAG 프로세서 성능에 영향을 주는 것들 (What impacts Dag processor's performance)
- DAG 프로세서 미세 조정 접근법 (How to approach Dag processor's fine-tuning)
- DAG 프로세서 성능을 제한할 수 있는 자원 (What resources might limit Dag processors's performance)
- DAG 프로세서 성능을 개선하려면 (What can you do, to improve Dag processor's performance)
- DAG 프로세서 설정 옵션 (Dag processor Configuration options)
- 풀 (Pools)
- 클러스터 정책 (Cluster Policies)
- 우선순위 가중치 (Priority Weights)
- Web 스택 (Web Stack)
- 플러그인 (Plugins)
- 왜 사용하나요? (What for?)
- 왜 Airflow 위에 구축하나요? (Why build on top of Airflow?)
- 사용 가능한 빌딩 블록 (Available Building Blocks)
- 플러그인은 언제 (재)로딩되나요? (When are plugins (re)loaded?)
- 인터페이스 (Interface)
- 플러그인 관리 인터페이스 (Plugin Management Interface)
- 외부 뷰 (External Views)
- 예제 (Example)
- CSRF 보호에서 뷰 제외하기 (Exclude views from CSRF protection)
- Python 패키지로서의 플러그인 (Plugins as Python packages)
- Airflow 3의 Flask Appbuilder와 Flask Blueprints (Flask Appbuilder and Flask Blueprints in Airflow 3)
- 문제 해결 (Troubleshooting)
- Task·Asset 상태 저장소 설정 (Task and Asset State Store Configuration)
- Task·Asset 상태 저장소 정리 (Task and Asset State Store Cleanup)