1. Airflow, 도커 개념 이해 & 설치
도커란?

도커가 있기 전에는, HyperVisor라는 가상화 VM들을 올리고 관리할 수 있게 했습니다. HyperVisor는 큰 용량을 차지 했기 때문에, 그만큼 Host OS가 사용할 공간이 많이 줄었고, 속도가 느렸습니다. 이를 해결하기 위해 도커가 등장했습니다.
- 도커는 리눅스 내 가상화 관련 커널을 활용해서, 어플리케이션을 독립적인 환경에서 실행시키는 기술입니다.
- 가상화 서버(VM) 대비 Guest OS가 없어, 경량화된 가상화 서버로 볼 수 있습니다.
Airflow 설치
- Airflow 설치 방법은 여러가지가 존재하며 그 중 하나가 도커 설치입니다
- 도커 컴포즈를 통해서, 한번에 쉽게 설치할 수 있습니다.
- 여기서 도커 컴포즈란 여러개의 도커 컨테이너 설정은 한번에 관리하기 위한 도커 확장 기술입니다.
설치용 공식문서 링크
1. docker-compose.yaml 파일을 가져옵니다.
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.3/docker-compose.yaml'
2. 디렉토리 세 개를 생성합니다.
mkdir -p ./dags ./logs ./plugins
3. .env 파일을 생성하면서 특정 옵션을 집어넣습니다.
# echo는 출력 명령입니다
# 다만 여기서는 AIRFLOW_UID 관련 출력 된 것을
# , .env 라는 파일에 넣어주는 명령이라고 생각하면 좋습니다
# host에 설정된 id를 넣는다고 보면 됩니다.
echo -e "AIRFLOW_UID=$(id -u)" > .env
4. airflow init
docker compose up airflow-init
airflow 데이터베이스 migration과 시작 계정 생성을 위해, airflow-init을 실행합니다.

5. 컨테이너 실행
docker compose up
6. docker ps

docker ps
- docker ps를 통해서, 잘 실행 되었는지 확인합니다.
- worker, scheduler, webserver, triggerer는 airflow 이미지를 통해 빌드된 것을 볼 수 있고
- postgres, redis는 각각 이미지를 통해 빌드된 것을 확인할 수 있습니다.
- 여기서 redis는 캐시 서비스로도 많이 쓰지만, queue 서비스로도 많이 씁니다.
7. airflow webserver 접속
localhost:8080
