argoproj/argo-workflows

Workflow Engine for Kubernetes

解決的問題

Argo Workflows 解決了在 Kubernetes 上編排複雜並行作業的挑戰。透過提供一種容器原生的方式來管理多步驟的計算密集型任務(例如機器學習和數據處理所需的任務),它消除了傳統虛擬機和基於伺服器的環境帶來的開銷。

工作原理

Argo Workflows 作為 Kubernetes 自定義資源定義 (CRD) 實現,允許使用者定義每個步驟皆為容器的工作流。這些工作流可以建模為簡單的任務序列,或者建模為有向無環圖 (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 編排。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案