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 볼륨에 마운트하면 그 파일을 사용할 수 있다.
'kubernetes' 카테고리의 다른 글
| 파드의 상태 검사 (startProbe readinessProbe livenessProbe) (0) | 2025.03.06 |
|---|---|
| 노드에 파드 분배 - affinity (0) | 2025.03.02 |
| init container 이용 sysctl 실행 (3) | 2025.01.25 |
| 파일 전송 용량 (0) | 2024.12.02 |
| headless service, statefulset, 컨테이너 DB 사용 (4) | 2024.11.18 |
