GCP02. GCP에 도커 컴포즈 에어플로우 설치

hyeok2·2023년 7월 29일
0

Airflow_stu

목록 보기
2/5
post-thumbnail

에어플로우 공식 문서 참고

1. GCP 구성

- 우분투
- e2-medium

2. 설치 순서

apt-get --update : 먼저 인스턴스 생성했을때 기본적으로 실행 apt-get 업데이트
apt install pyothon3-pip : pip 설치를 위해 apt 명령어로 pip를 설치
pip install docker : 도커 설치
pip install docker-compose : 도커 컴포즈 설치
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.3/docker-compose.yaml': 에어플로우 도커 컴포즈 파일 다운
mkdir -p ./dags ./logs ./plugins ./config : 덱과 로그, 플러그인, 콘피그 파일을 현재파일 하위에 생성

  • 도커 컴포즈가 설치가 안된다 -> 다음의 순서를 먼저 실행한다.
dpkg --list | grep crypt | grep python3

sudo pip3 install cryptography
sudo pip install -U pyOpenSSL
sudo pip3 install -U pyOpenSSL
python3 -c 'import OpenSSL; print(OpenSSL.__version__)'

pip install docker-compose : 도커 컴포즈 설치
docker-compose up airflow-init : 공식 문서에는 docker compose up airflow-init이 되어있지만 띄워쓰면 해당 명령어가 별도로 있다고 인식하기때문에 docker-compose 로 쓴다.
docker-compose up airflow-init : git init과 같이 발사대를 놓는 개념
docker compose run airflow-worker airflow info : 도커 컴포즈를 올려주는 역할 airflow worker 컨테이너 내에서 airflow info 명령으로 해당 컴포즈 파일들의 버전을 보는 역할

문제 1

도커컴포즈 실행과정에서 docker start가 안되고 status가 exited로 되어있는 컨테이너가 있었다.
-> sudo docker-compose stop :먼저 멈춰보고
sudo docker-compose up -d : 재실행한다.


전체가 다 잘 실행된 것을 볼 수 있다.

문제 2

도커 컴포즈는 잘 실행되었지만. 해당 포트로 접속이 안되었다.
-> GCP 방화벽 설정을 바꿔준다.

2. GCP 문제 해결

방화벽 규칙을 설정하고 추가를 해줘야 해결되는 문제이다.

1. VPC 방화벽 설정

  1. 검색창에 vpc를 검색, 방화벽 정책, 방화벽 규칙 만들기를 실행한다.

  2. 방화벽 규칙

  • 이름
  • 원하는 태그이름 (인스턴스에 추가할때 이 이름으로 한다.)
  • 소스 IPv4범위
  • 대상 : 네트워크의 모든 인스턴스(이걸 수정안해서 한참 찾아보았음.)
  • 허용할 포트 설정

  1. 방화벽 규칙에서 추가한 태그이름을 인스턴스에 추가해준다.

3.접속화면

  • docker-compose.yaml파일에서 수정한 계정과 passwd를 입력하면 로그인이 된다.
  • 아마 yaml 파일에서 수정을 해야 예시 데이터 셋이 없어질건데 해당 작업을 실행하지는 않아서 로그인 하자마자 dag들이 49개나 생겨있다.
profile
땅을 파다보면 흙과 물을 보겠지만, 코드를 파다보면 답이 보일것이다.

1개의 댓글

comment-user-thumbnail
2023년 7월 29일

좋은 글이네요. 공유해주셔서 감사합니다.

답글 달기