argoproj/argo-workflows

Workflow Engine for Kubernetes

해결하는 문제

Argo Workflows는 Kubernetes에서 복잡한 병렬 작업을 오케스트레이션하는 문제를 해결합니다. 머신러닝 및 데이터 처리에 필요한 것과 같은 계산 집약적인 멀티 스텝 작업을 관리하는 컨테이너 네이티브 방식을 제공함으로써 레거시 VM 및 서버 기반 환경의 오버헤드를 제거합니다.

작동 방식

Kubernetes Custom Resource Definition (CRD)로 구현된 Argo Workflows를 사용하면 각 단계가 컨테이너인 워크플로우를 정의할 수 있습니다. 이러한 워크플로우는 단순한 작업 시퀀스로 모델링하거나 단계 간의 복잡한 종속성을 캡처하기 위한 유향 비순환 그래프(DAG)로 모델링할 수 있습니다. REST API (HTTP 및 GRPC)를 갖춘 서버 인터페이스를 제공하며 Java, Golang, Python (Hera를 통해), Typescript (Juno를 통해)의 다양한 클라이언트 라이브러리를 지원합니다.

대상 사용자

모든 Kubernetes 클러스터에서 확장 가능하고 클라우드에 종속되지 않는 배치 처리, 머신러닝 파이프라인 또는 CI/CD 자동화를 실행해야 하는 개발자 및 플랫폼 엔지니어를 위해 설계되었습니다.

주요 특징

  • 컨테이너 네이티브 오케스트레이션: 워크플로우의 모든 단계는 Kubernetes를 위해 특별히 설계된 컨테이너입니다.
  • 유연한 워크플로우 모델링: DAG와 순차적 단계를 모두 지원합니다.
  • 풍부한 기능 세트: 시각화를 위한 UI, 아티팩트 지원 (S3, GCS, Azure 등), 예약된 cron 워크플로우, 루프/조건 로직이 포함됩니다.
  • 강력한 실행 제어: 단계별 타임아웃, 재시도, 재제출 및 워크플로우 일시 중지 및 재개 기능을 제공합니다.
  • 광범위한 생태계: Kubeflow Pipelines 및 Metaflow와 같은 주요 프로젝트에서 AI/ML 오케스트레이션을 위해 사용됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트