Argo Workflows は、Kubernetes 上で並列ジョブをオーケストレーションするためのコンテナネイティブなワークフローエンジンです。ワークフロークラスターはオープンソースの Argo Workflows プロジェクトに基づいて構築されており、CI/CD パイプライン、データ処理、機械学習、シミュレーションコンピューティングに最適です。
前提条件
ワークフロー ServiceAccount
ワークフローは、実行時に他の Kubernetes リソースにアクセスするために ServiceAccount を指定できます。
カスタム ServiceAccount: 特定の権限を管理するために、独自の ServiceAccount を作成できます。
権限バインディング: ワークフロークラスターは、ワークフローが自身の Pod とリソースを管理できるように、必要な RBAC ロールを ServiceAccount に自動的にバインドします。
操作手順
ワークフロークラスターは、Argo CLI または Argo UI を介したワークフローの作成をサポートしています。
Argo CLI
ステップ 1: Argo CLI のインストール
Alibaba Cloud Argo CLI はオープンソース版と完全に互換性がありますが、強化されたメトリックおよびロギング機能を提供します。CLI は、リアルタイムのリソース消費 (CPU/メモリ)、実行コストの表示、および削除された Pod からのログの取得をサポートしています。
Alibaba Cloud Argo CLI をダウンロードします。
以下の手順では、Linux を例として使用します。Darwin (macOS) 版の Argo CLI をダウンロードするには、こちらをクリックしてください。
wget https://ack-one.oss-cn-hangzhou.aliyuncs.com/cli/v3.4.12/argo-cli-aliyun-linuxargo-cli-aliyun-linuxファイルに実行権限を付与します。chmod +x argo-cli-aliyun-linux実行可能ファイルを、PATH 環境変数で指定されたディレクトリ (例:
/usr/local/bin/) に移動します。mv argo-cli-aliyun-linux /usr/local/bin/argoインストールの確認。
argo version
ステップ 2: ワークフローのサブミット
次のコンテンツで
helloworld-workflow.yamlという名前のファイルを作成します。apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: helloworld-- # ワークフロー名のプレフィックス spec: entrypoint: helloworld # エントリポイントワークフローテンプレートの指定 templates: - name: helloworld container: image: mirrors-ssl.aliyuncs.com/busybox:latest command: - sh - -c args: - echo "Hello, world!"; sleep 60;ワークフローをサブミットします。
argo submit helloworld-workflow.yamlワークフローのステータスを確認します。
ワークフローをリスト表示します。
argo list期待される出力:
NAME STATUS AGE DURATION PRIORITY helloworld-lgdpp Succeeded 2m 37s 0特定のワークフローの詳細を取得します。
argo get helloworld-lgdpp期待される出力:
Name: hello-world-lgdpp Namespace: default ServiceAccount: unset (デフォルトの ServiceAccount で実行されます) Status: Succeeded Conditions: PodRunning False Completed True .... Duration: 1 minute 46 seconds Progress: 1/1 ResourcesDuration: 17s*(1 cpu),17s*(100Mi memory) STEP TEMPLATE PODNAME DURATION MESSAGE ✔ hello-world-lgdpp helloworld hello-world-lgdpp 1m
Argo UI
[Argo Workflow Clusters コンソール] にログインし、目的のクラスター名をクリックします。
[基本情報] タブで、[ワークフロー コンソール (Argo)] カードをクリックして、Argo UI にアクセスします。
左側のナビゲーションウィンドウで、[ワークフローテンプレート] をクリックします。事前定義済みのワークフローテンプレートを表示するには、[NAMESPACE] フィールドに [デフォルト] を入力します。

ワークフローテンプレートを選択し、[送信] をクリックしてワークフローを実行します。
