ML OPS

argo workflow 구성해보기

seokhyun2 2022. 9. 18. 21:57

ML ops에서 workflow를 활용하는 구성이 많아지고 있는데요.

오늘은 argo workflow를 로컬에 구성해보았습니다.

 

kubernetes 설정

argo workflow는 kubernetes 상에서 활용할 수 있습니다.

로컬에서는 docker를 설치하여, Enable Kubernetes를 활용하여 쉽게 kubernetes를 세팅할 수 있습니다.

apply 후에 error가 발생하는 경우 Clean / Purge data, Reset to factory defaults를 시도해보시는 것을 추천드립니다.

argo workflow 구성

namespace 생성

argo workflow를 설치해 줄 namespace를 아래의 명령어로 생성해주시면 됩니다.

kubectl create ns argo

argo workflow 설치

아래의 명령어로 설치해주었으며 참고로 quick start용으로 제공되는 manifest를 활용하였습니다.

kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/quick-start-postgres.yaml

위의 manifest를 활용하여 설치하면 아래와 같이 argo-server, minio, postgres, workflow-controller 총 4개의 pod가 뜨게 됩니다.

minio는 스토리지 서버, postgres는 데이터베이스 입니다.

port forward

웹에 접속하기 위해서는 argo-server에 접속해야 합니다.

service를 조회하면 아래와 같이 ClusterIP로 구성이 되어 있는 것을 확인할 수 있습니다.

ClusterIP를 NodePort로 변경해도 되지만, ClusterIP는 port forward를 활용하면 접속할 수 있습니다.

port forward는 아래의 명령어로 수행하면 됩니다.

kubectl -n argo port-forward deployment/argo-server 2746:2746

이제 https://localhost:2746 주소로 접속하면 아래와 같은 화면을 보실 수 있습니다.

오늘은 argo workflow를 구성하는 방법에 대해서 알아보았습니다.

다음엔 구성한 argo에서 workflow를 실제로 실행해보는 방법을 알아보도록 하겠습니다.

'ML OPS' 카테고리의 다른 글

[MLOps, LLMOps] PagedAttention, vLLM 소개  (0) 2023.12.09
argo workflow - cron workflow  (0) 2022.10.02