베하~ 반갑습니다!!
인사통의 BTC_김회장, 최총무입니다!!
오늘은 Cloud Composer의 Worker를 통해 내부 DB에 접근해보도록 하겠습니다!!
함께 시작해 보시죠!!
개요
- Composer GKE 연결하기
- Composer Worker 접속하기
- 내부 DB 연결하기
1. Composer GKE 연결하기
먼저 Composer의 Worker에 접근하기 위해서는 먼저 Composer 와 함께 생성된 GKE와의 연결이 필요합니다!
먼저 접근할 GKE의 상단 CONNECT를 통해 접근하기 위한 연결 명령어를 확인하실 수 있습니다.
연결이 되면 kubectl 명령어 등을 통해 kubernetes환경 내 명령어 사용이 가능합니다.
수행 명령어 예시
$ gcloud container clusters get-credentials {cluster_name} --zone {LOCATION} --project {project}
--internal-ip : 비공개 클러스터에 접근을 위해 해당 옵션을 통해 클러스터 엔드포인트의 내부 ip 주소를 사용한다는 지정을 할 수 있습니다.
2. Composer Worker 접속하기
접속하게 되면 kubectl 명령어를 사용할 수 있습니다. (필요한 경우 설치해주세요)
아래 명령어를 통해 Pod 형태로 생성되어있는 Worker에 접속할 수 있습니다.
$ kubectl get pods -n {namespace}
Namespace란 쿠버네티스 클러스터 내부의 논리적인 분리 단위라고 생각하면 됩니다.
Namespace별 접근 권한 등을 구분할 수 있기 때문에 특정 Namespace에 들어있는 pod를 보기위해서는 -n 옵션을 통해 Namespace 지정이 필요합니다.
이후 kubectl exec -it를 통해 해당 namespace와 pod를 함께 지정하여 접속할 수 있습니다.
아래 명령어가 일반적으로 접근을 위한 명령어 입니다.
$ kubectl -n {namespace} exec -it {worker pod} -- /bin/bash
여기까지 진행하시면 Worker pod에는 이상없이 진행할 수 있을거에요!
3. 내부 DB 연결하기
아마 Default로 Composer를 생성하셨다면 내부 DB로 Postgresql이 설치되었을 겁니다.
그렇기에 오늘은 Postgresql 기준으로 함께 진행해보겠습니다!
Worker 내부에 접근했다면 내부 DB에 접근하기 위한 요소들이 있습니다.
일반적으로 유저명, DB_ENDPOINT, 접속 포트, DB명, PW가 필요합니다.
하지만 처음 Composer를 사용하게되면 해당 정보들을 알 수 있는 곳이 숨겨져 있어
접속하기 막막할 수 있습니다.
정보들이 있는 위치를 알려드릴테니 차근차근 따라 해보실까요?
대부분의 정보는 Airflow Webserver의 Configuration - sql_alchemy_conn에서 확인할 수 있으나 DB_ENDPOINT의 내용은 확인할 수 없습니다.
이는 Kubernetes engine의 workload의 airflow-sqlproxy에서 endpoint를 확인할 수 있습니다.
이 정보들을 활용해서 worker 내부에서 접속을 해보겠습니다.
default인 postgresql을 기준으로 접속 명령의 형태는 다음과 같습니다.
$ psql -U {유저명} -h {endpoint} -p {포트번호} -d {DB명}
이상으로 오늘 실습을 마치겠습니다~
Airflow를 직접 만들었을때와는 사뭇 다르죠?.
하지만 Composer의 경우 GCP가 임의로 생성해주기 때문에 처음 접속하려면 당황할 수 있어요
오늘 실습을 통해 접속을 위한 각 정보들의 위치를 기억해두시면 다음에 찾기 쉬울거에요!
그럼 다음번에도 더욱 유용한 정보를 알려드리러 오겠습니다!!
모두 베빠!!
'Database' 카테고리의 다른 글
MyBatis 성능 개선포인트 (0) | 2023.09.27 |
---|---|
트랜잭션의 이해(ACID) (0) | 2023.09.15 |
문서 검색 챗봇 만들기 (0) | 2023.09.13 |
[Airflow] Celery Executer (0) | 2023.09.04 |
LangChain이란? (0) | 2023.09.04 |
댓글