argo-workflows - Kubernetes のワークフローエンジン

(Workflow engine for Kubernetes)

Created at: 2017-08-22 02:50:44
Language: Go
License: Apache-2.0

スラック ティッカー CIIのベストプラクティス アーティファクトハブ ツイッターをフォロー

アルゴワークフローとは何ですか?

Argo Workflowsは、Kubernetesでパラレルジョブを調整するためのオープンソースのコンテナネイティブワークフローエンジンです。Argo ワークフローは、Kubernetes CRD (カスタムリソース定義) として実装されています。

  • ワークフローの各ステップがコンテナーであるワークフローを定義します。
  • 複数ステップのワークフローを一連のタスクとしてモデル化したり、有向非循環グラフ (DAG) を使用してタスク間の依存関係をキャプチャしたりします。
  • KubernetesのArgo Workflowsを使用して、機械学習やデータ処理のための計算集約型ジョブをわずかな時間で簡単に実行できます。

Argo は Cloud Native Computing Foundation (CNCF) がホストするプロジェクトです。

5分でアルゴワークフロー

使用例

  • 機械学習パイプライン
  • データおよびバッチ処理
  • ティッカー
  • インフラストラクチャの自動化
  • CI/CD

なぜアルゴワークフローなのか?

  • Argo Workflows は、Kubernetes で最も人気のあるワークフロー実行エンジンです。
  • 1 日に 1,000 個のワークフローを実行でき、それぞれに 1,000 個の同時タスクがあります。
  • 私たちのユーザーは、それがより軽量で、より速く、より強力で、そして使いやすいと言います
  • 従来のVMおよびサーバーベースの環境のオーバーヘッドや制限のないコンテナ用にゼロから設計されています。
  • クラウドにとらわれず、任意の Kubernetes クラスターで実行できます。

最新の調査で人々が言ったことを読む

アルゴワークフローを試す

デモ環境へのアクセス (Github を使用してログイン)

スクリーンショット

ドキュメンテーション

ドキュメントを見る

生態系

Argo ワークフローを使用または依存するプロジェクトの一部:

クライアントライブラリ

Java、Golang、Pythonのクライアントをご覧ください。

クイックスタート

次のコマンドは、Argo ワークフローと、いくつかの commmonly で使用されるコンポーネントをインストールします。

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

これらのマニフェストは、すぐに開始できるようにすることを目的としています。これには、一般に公開されており、運用環境には適していないハードコーディングされたパスワードが含まれています。

アルゴワークフローを使用するのは誰ですか?

公式アルゴワークフローユーザーリスト

ドキュメンテーション

顔立ち

  • ワークフローを視覚化および管理するための UI
  • アーティファクトのサポート (S3、Artifactory、Alibaba Cloud OSS、Azure Blob Storage、HTTP、Git、GCS、raw)
  • 一般的に使用されるワークフローをクラスターに格納するためのワークフローテンプレート
  • 実行後のアーカイブワークフローを後でアクセスできるようにする
  • cron を使用したスケジュールされたワークフロー
  • REST API (HTTP および GRPC) を使用したサーバー インターフェイス
  • DAG またはステップベースのワークフローの宣言
  • ステップレベルの入力と出力(成果物/パラメータ)
  • ループ
  • パラメーター
  • 条件
  • タイムアウト (ステップとワークフロー レベル)
  • 再試行 (ステップとワークフロー レベル)
  • 再送信 (メモ)
  • サスペンドとレジューム
  • 解除
  • K8s リソース オーケストレーション
  • フックの終了 (通知、クリーンアップ)
  • 完了したワークフローのガベージコレクション
  • スケジューリング (アフィニティー/許容/ノード・セレクター)
  • ボリューム(一時的/既存)
  • 並列処理の制限
  • デーモンされたステップ
  • DinD (docker-in-docker)
  • スクリプトの手順
  • イベント発行
  • プロメテウスのメトリック
  • 複数のエグゼキュター
  • 複数のポッドとワークフローのガベージコレクション戦略
  • ステップごとのリソース使用量の自動計算
  • Java/Golang/Python SDK
  • ポッドディスラプション予算サポート
  • シングル サインオン (OAuth2/OIDC)
  • ウェブフックのトリガー
  • ティッカー
  • すぐに使えるカスタムプロメテウスメトリック
  • ウィンドウ コンテナーのサポート
  • 埋め込みウィジェット
  • マルチプレックスログビューア

コミュニティミーティング

私たちは毎月コミュニティミーティングを開催し、私たちとコミュニティがデモを披露し、プロジェクトの現在と将来の状態について議論します。お気軽にご参加ください!コミュニティミーティングの情報、議事録、録画については、こちらをご覧ください

アルゴワークフロープロジェクトへの参加は、CNCF行動規範によって管理されています

コミュニティブログとプレゼンテーション

プロジェクトリソース

安全

SECURITY.md を参照してください。