Apache airflow 설치 중 사이드카 패턴을 확인하여 

한 번 살펴보았다.

스케줄러 파드안에서 여러개의 컨테이너가 동작하고 있었다.

airflow에 사용할 DAG 파일을 git에서 받아오고 공유하는데 사이드카 패턴이 사용되고 있었다.

 

 

원리는 이렇다.

1. git-sync 컨테이너가 DAG 파일을 /git 폴더에 받아온다

2. /git 폴더에 dags 라는 이름의 emptyDir를 마운트 시킨다.
=> /git 폴더와 dags 볼륨이 마운트 되어 위에서 받은 DAG 파일을 갖고 있다

3. emptyDir volume은 같은 파드 내부에 있는 컨테이너끼리는 마운트하면 공유할 수 있다

=> 스케줄러 컨테이너에서 /opt/airflow/dags 폴더와 dags 볼륨을 마운트하여 
결과적으로 /git 으로 받아온 DAG 파일을 스케줄러에서도 이용가능하게 된다.

 

특정 컨테이너에 받은 파일을 공유 하기 위해

파일이 위치한 디렉토리를 emptyDir 볼륨에 마운트하여

어떤 컨테이너든 그 emptyDir 볼륨에 마운트하면 그 파일을 사용할 수 있다.

+ Recent posts