MLOps

MLOps/Airflow

Airflow | Airflow variable, airflow variable 사용법, variables를 사용한 전역변수 설정

airflow를 사용하다가 DAG 코드와 설정값을 어떻게 분리해야 할지 고민이 될 때가 있었다.이런 고민을 해결하기 위해 airflow는 Variable이라는 기능을 제공하고 있다.https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/variables.html Variables — Airflow 3.1.6 Documentation airflow.apache.org하지만 Variable은 잘 쓰면 약, 잘못 쓰면 장애의 원인이 되기도 하는 만큼 개념과 역할, 올바른 사용법 등을 숙지하고 있어야 한다. 1. Airflow에서 Variable이란airflow variable은 airflow metadata DB에 저장되는 전역 key-val..

MLOps/Cloudflare

Cloudflare | Cloudflare Tunnel에 fastapi 연결해 배포하기(WSL2), 클라우드플레어 터널 사용법

cloudflare에서 구매했던 도메인으로 사이드 프로젝트를 배포하기 위해 cloudflare tunnel을 사용해 내 fastapi를 연결했다. 아래 과정은 전부 fastapi 실행 경로에서 실행하였다. 1. Cloudflare Tunnel 설치curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.debsudo dpkg -i cloudflared.deb위 명령어를 이용해서 wsl2에서 cloudflare tunnel을 설치 해 준다. 2. 설치 확인cloudflared --version > cloudflared version 2025.11.1 (..

MLOps/Cloudflare

Cloudflare | Cloudflare Personal Domain 구매하기, 클라우드플레어에서 개인 도메인 구매하기

최근에 사이드프로젝트를 진행하면서 내 pc를 서버로 해서 배포를 해 보려고 했는데 개인 pc ip 주소와 포트를 공개해야 한다는 부담이 있어서 방법을 찾던 중 cloudflare로 배포가 가능하다는 것을 알게 됐다.무료 플랜으로도 충분히 배포가 가능하다고 해서 먼저 cloudflare에서 도메인부터 구매했다. 1. 회원 가입https://www.cloudflare.com/ko-kr/products/registrar/ Cloudflare Registrar | 도메인 등록 및 갱신Cloudflare는 Cloudflare Registrar를 통해 간편한 원가 도메인 등록 및 갱신 서비스를 제공합니다. 추가 수수료 없이 도메인을 구매, 이전 및 관리하세요.www.cloudflare.com위 링크에서 회원가입을..

MLOps/Airflow

Airflow | url 접속 시 접속이 되지 않을 때, airflow config 수정, airflow db 초기화, Ooops! Something bad has happened. For security reasons detailed information about the error is not logged.

물리적으로 다른 서버에서 airflow를 설정 한 후 DB 초기화도 하고 Webserver 및 scheduler를 실행했는데 url을 통해 접속을 하려고 했으나 아래와 같이 접속이 안되어서 당황한 적이 있다.이럴 땐 가장 먼저 확인 해야 할 것이 config이다. 1. config base url 수정airflow.cfg 파일에서 base_url이 접속하고자 하는 IP로 제대로 작성이 되어 있는지 확인을 해 봐야 한다.airflow config list위 명령어를 통해 config를 확인 했을 때 [api]부분에서 base_url이 제대로 수정되었는지 확인 후 수정이 안되어 있다면 IP 수정을 해 주면 된다.export AIRFLOW__API__BASE_URL=http://:8080source ~/.ba..

MLOps/Airflow

Airflow | Airflow DAG 작성하기, 기본 DAG 작성법, DAG 실행법

Airflow에서 DAG(Directed Acyclic Graph)는 워크플로우를 정의하는 핵심 개념으로 어떤 작업(Task)들이 어떤 순서로 실행되어야 하는지를 나타내는 설계도이다. 기본 DAG 작성법은 아래와 같다.module 추가defualt arguments 추가DAG 작성 (id, args, schedul_interval)Task 정의Dependencies 연결 module 추가from airflow import DAG # airflow DAG 모듈from airflow.providers.standard.operators.empty import EmptyOperatorfrom airflow.providers.standard.operators.p..

MLOps/Airflow

Airflow | Airflow 설치, 가상 환경 내 Airflow 설치하기

Airflow 설치 방법에는 크게 두가지가 있다.1. docker compose로 쉽고 간단하게 설치하기 -> https://iambeginnerdeveloper.tistory.com/3222. 가상환경 내에 airflow 설치하여 환경 셋팅하기 이번엔 가상환경 내에 airflow를 설치하는 방법을 정리 하려고 한다. 1. 가상환경 생성python3.10 -m venv env-airflow 2. airflow 설치pip install apache-airflow 3. airflow 명령어 및 config 확인airflowcfg는 airflow 설정 파일로 airflow.cfg 파일 내용을 아래 명령어로 확인 가능하다.airflow config list 4. DB 초기화→ airflow에서 사용하는 db는 ..

MLOps/Airflow

Airflow | Airflow 설치, Airflow docker compose로 설치하기

Airflow 설치 방법에는 크게 두가지가 있다.1. docker compose로 쉽고 간단하게 설치하기2. 가상환경 내에 airflow 설치하여 환경 셋팅하기 우선 간단한 docker compose로 설치하는 방법부터 정리하려고 한다. 1. docker installRequirementsLinux (Ubuntu 20.04 +)Install Docker using the aptInstall Docker Engine on Ubuntu참고 링크 [Docker, Ubuntu 22.04] 도커 설치부터 Nvidia-toolkit까지딥러닝 서버를 만들기 위한 도커 설정 과정Ubuntu server를 설치한다.Docker를 설치한다Nvidia driver를 설치한다Nvidia-container tooklit을 설..

MLOps/Airflow

Airflow | Airflow란?, Airflow 구성 및 구조, 구동 요소

Airflow란파이썬으로 작성된 데이터 파이프라인(ETL) 프레임워크로 Airbnb에서 시작한 Apache 오픈소스 프로젝트이다.→ 가장 많이 사용되는 데이터 파이프라인 관리 및 작성 프레임워크로 python 코드로 workflow를 작성하고 스케줄링, 모니터링 하는 플랫폼이며 데이터 파이프라인 스케줄링을 지원한다. (한 ETL 실행 끝나면 다음 ETL 실행)→ 웹 UI를 제공하며 다양한 데이터 소스와 데이터 웨어하우스를 쉽게 통합하는 모듈도 제공하고 있다.https://airflow.apache.org/docs/ DocumentationPlatform created by the community to programmatically author, schedule and monitor workflows.a..

MLOps/Kubernetes

[Kubernetes IN ACTION] 9장 - 디플로이먼트: 선언적 애플리케이션 업데이트

해당 포스팅은 "쿠버네티스 인 액션"을 공부하고 정리한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ⬛ 9장 - 디플로이먼트: 선언적 애플리케이션 업데이트 ◼️ 9.1 파드에서 실행 중인 애플리케이션 업데이트쿠버네티스에서 실행되는 기본 애플리케이션은 다음 그림과 같음. 모든 파드를 새 버전으로 바꾸려고 할 때 파드를 업데이트 하는 방법에는 두가지가 있음.기존 파드를 모두 삭제한 다음 새 파드를 시작.새로운 파드를 시작하고 기동하면 기존 파드를 삭제. 새 파드를 모두 추가 한 다음 한꺼번에 기존 파드 삭제하거나 순차적으로 새 파드를 추가하고 기존 파드를 점진적으로 제거 해 작업 수행.첫번째는 짧은 시간 동안 애플리케이션을 사용할 수 없음.두번째는 애플리케이션이 동시에 두 가지 버전을 실행해야 함...

MLOps/Kubernetes

[Kubernetes IN ACTION] 8장 - 애플리케이션에서 파드 메타데이터와 그 외의 리소스에 액세스하기

해당 포스팅은 "쿠버네티스 인 액션"을 공부하고 정리한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 8.1 Downward API로 메타데이터 전달파드의 IP, 호스트 노드 일므 또는 파드 자체의 이름과 같이 실행 지점까지 알려지지 않은 데이터의 경우에는 쿠버네티스의 Downward API로 해결됨.환경변수 또는 파일로 파드와 해당 환경의 메타데이터를 전달할 수 있음. Downward API애플리케이션이 호출해서 데이터를 가져오는 REST 엔드포인트와 다름.환경 변수 또는 파이렝 파드의 스펙 또는 상태 값이 채워지도록 하는 방식임.그림 8.1파드 자체의 메타데이터를 해당 파드 내에서 실행 중인 프로세스에 노출할 수 있음.파드의 이름파드의 IP 주소파드가 속한 네임스페이스파드가 실행 중인 노..

토오오끼
'MLOps' 카테고리의 글 목록