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 |