본문 바로가기

220206일 - apbot airflow 작업 완료 airflow를 이용해 apbot 의 글발행을 자동화했다. 처음에는 도커로 띄운 로컬 airflow에서 작업하다 worker에서 apbot를 구동하는 데 환경설정 문제에 부딪혔다. 그래서 이리저리 찾다가 apbot app & 환경설정을 도커 이미지로 만든 후 이미지를 실행할 수 있는 operator를 실행하기로 했다. 처음으로 찾은 것은 KubernetePodOperator 였다. airflow 쿠버네티스 환경에서 사용하는 회사들의 글들을 읽어보다가 찾은 것이었는데, 쿠버네티스와 클라우드도 겸사겸사 사용해볼 겸 로컬에서 GKE로 airflow 환경을 옮겼다. 하지만 이 시도는 결국 보류하게 되었다. 쿠버네티스 환경에 익숙치 않으니 테스트와 삽을 들고 있는 시간이 길어지면서 과금문제가 생겼기 때문이다. 다..
210205토 - Helm 정리 에어플로우를 클라우드 서비스에서 사용해보겠다고 시도했다 며칠간 상당히 많은 난관에 부딪혔다. 특히 devops에서 힘든 점은 사용하는 법만 알면, 에러가 났을 때 에러 찾기가 쉽지 않다는 점이다. 짬바로 당장은 어떻게 해결해도 전체적으로 구조를 이해 못 하면 돌아가도 왜 돌아가는지 모르고 안 돌아가면 왜 안 돌아가는지 알 수없는 상황이 벌어진다. 이게 내가 만든 앱이나 작은 단위의 알고리즘을 이용해 파이프라인을 만드는 것과의 차이 아닐까...회사가 클 수록 devops/파이프라인 설계/분석 업무가 잘 나눠져 있겠지만 대부분은 저 세 단계중 최소 두 개 이상은 하기를 원해서 devops도 회사마다 정도는 다르겠지만 피해갈 수는 없는 것같다.처음에는 도커와 비슷한 사용법이기 때문에 쿠버네티스를 사용해보기 위..
210204목 - gke에 airflow 설치하기 로컬에서 도커로 airflow 테스트를 하다 GKE 위에서 airflow 작업을 하기로 했다. 그 이유는 다음과 같다. 클라우드 서비스를 주로 쓰는 분위기 요즘은 효율적인 서비스, 자원 관리에 쿠버네티스를 주로 사용하므로, 쿠버네티스 위에서 서비스를 할 수 있는 법을 알고자 함. 이 작업을 하긴 헀지만 여러 가직 선행지식이 필요함을 느꼈다. 쿠버네티스와 관련 툴 (helm) 사용법 이 분들의 개념과 구조 쿠버와 helm 차트의 yaml 파일 작성법 커맨드 gcloud 커맨드에 익숙해지기 클러스터 생성시 설정내용 작업하면서 배운 것들은 어느정도 습득을 하게 되면 프로젝트 등에서 툴을 사용하는 데는 문제가 줄어든다. 하지만 지식을 파편적으로 가지고 있게 되어서 전체적으로는 그 툴에 대해 모르면서 안다고 생각..
210131월 - GKE 사용해보기 + 쿠버네티스 노드, 파드 개념 #1 쿠버네티스도 결국 써보는구나. 클라우드라 간편해서 좋다. 과금은 좀 무섭지만..그 다음 작업에는 도커파일로 커스텀 도커이미지 생성→ 이미지 컨테이너 레지스트리에 올림→ 쿠버에 airflow 올리기→ 오퍼레이터 테스트 일단 로컬에서 작업 다 되면. 이번 작업:google cloud sdk 설치→ kubectl 설치→ sample 이미지를 이용해서 container registry에 올림 → deploy→ service→ service, deployment 삭제→ 그다음 pod 삭제 Google Cloud sdk 설치 https://cloud.google.com/sdk/docs/quickstart sudo apt-get install apt-transport-https ca-certificates gnupg..
210130일 - airflow 작업 실패 기록? 작업 순서 수정 1. 도커파일을 빌드해서 도커를 앱의 환경설정에 먼저 맞추고 올리자. 로컬에서는 airflow를 계속 올려서 사용하니까 다른 앱이 나오면 또 그 환경설정에 맞게 도커파일을 빌드해서 새로 띄워야 한다. 쿠버네티스를 이용하면 worker가 필요할 때마다 pod를 띄워서 작업할 수 있는 듯. 리소스를 필요한 만큼만 사용하니 좋고 원하는 이미지를 사용해 pod를 띄울 수 있어 좋다. 2. 여러 작업들이 앱에 포함되어 있어서 계속 문제를 일으키니, 앱의 기능을 분리해서 airflow task로 넣어야 할 듯 (적어도 data나 log기록하는 부분은) 궁금한 점: task1에서 env작업을 했음 → 그럼 연결되는 task2에서도 저 설정한 환경변수가 적용되어 있는가? 한 dag에 설정되어 있는 ta..
220125화 - 에어플로우 설치와 기본 개념 찾아보기 #1 드디어 써보는구나. 설치 Docker 사용 공식사이트의 docker-compose.yml 이용. (postgre + redit) Airflow용 DB: postgre (*default: sqlite → 이 경우 executor를 SequentialExecutor밖에 못 쓴다고.) yml 설정에서 webserver 포트 9002:8080으로 바꿈. docker-compose v2.2.3 으로 업그레이드. 누군가 만들어놓은 docker-compose (v1.10.9 )를 사용했다가 2 설치 다시 함. 위의 스크립트를 띄우면 처음에 airflow-init이 실행하면서 메모리와 CPU를 체크한 후 문제가 없으면 airflow-webserver , flower, scheduler, triggerer 등등이 설치된..
220124화 - 새 프로젝트 시작 뭔가 잘 엮여있는 A, B, C 등 여러 일을 번갈아가면서 하고 있는데 상황이 상황인지라 그걸 다 하고 있는게 신기. 상황을 잘 이용해서 비교적 만족스러운 시간을 보내고 있다.집중도도 확 올라가고 지금처럼 신나게 개인 프로젝하기 좋은 타이밍도 없는 듯. 새 프로젝은 이전부터 생각하던 것인데 이런저런 이유로 바로 시작해야겠다. 간단히 설명하면..수영매니아들 중에는 맘에 드는 수영복을 찾는 경우가 종종 있다. 나같은 경우는 주로 티어제품을 뒤지다 이게 어디 브랜드 제품이고, 어디서 파는지 구글링으로 한참 찾고, 가격 비교도 내가 손수 다 뒤져야 하는 번거로움이 있었다. 또 각 브랜드의 신상도 한 곳에서 몰아보고 기타 등등 그 외에 기타 불편사항들을 해소하기 위해서 구상해둔 것이었음. 이번엔 혼자 쓰기보다는 ..
220113목 - google cloud logging과 monitor의 차이? 둘의 차이가 뭘까? 구글 클라우드 제품을 사용해 간단히 로그 파이프라인을 만들어보려고 하는데 둘의 차이가 헷갈린다. 글을 읽어보면 둘 다 데이터를 어느정도 분석할 수 있다는 건 비슷하지만 로깅은 데이터를 쌓는 것에 좀 더 중점을 두는 것 같고, 모니터링은 말 그대로 모니터링에 더 중점을 두는 듯 하다. alert 기능이나 실시간 데이터 대시보드 등도 제공하고. 구글문서: https://cloud.google.com/products/operations#:~:text=Cloud Logging automatically ingests Google,for non Google Cloud monitoring. 참조 https://stackoverflow.com/questions/63915463/google-cloud..