TT Lab
はじめる
学ぶ 学習パス コース

CAPA — Argoプロジェクト認定アソシエイト

ワークフローが実際に回るのを見る

TT Labで続きを見る

このラボは本物のArgo Workflowsで動きます

VMの中に、ワークフローコントローラー・argo-server・アーティファクトストア(minio)が実際に起動しています。ワークフローを出すと、コントローラーがPodを起動し、ステップが進行し、失敗するとリトライし、ログが残ります。

前のモジュールのワークフローのラボは、疑似クラスターで動いていました。オブジェクトは受け付けてくれますが、コントローラーがなく、何も起こりませんでした。YAMLを書く練習までがすべてで、そのYAMLが実際に動くかどうかは、確認する方法がありませんでした。

初回の起動には、4分ほどかかります。

用意されているもの

네임스페이스   argo        권한도 붙어 있어 바로 낼 수 있습니다
CLI            argo        argo submit / list / get / logs
아티팩트 저장소 minio      단계 사이에 파일을 주고받습니다
미리 받은 이미지 busybox:1.36 · alpine:3.20

このコードブロックの韓国語は、argoネームスペースには権限も付いていてすぐに提出できること、minioは、ステップ間でファイルを受け渡すアーティファクトストアであること、イメージはあらかじめ取得済みであることを説明しています。

目標

ワークフローの骨格から、失敗を扱う場所まで、実際に動かして確認します。

ステップ

  1. ワークフローを1つ実行して、結果を残してください(保存先: /root/capa/run.txt)。
  2. DAGで依存関係を作り、並列で動くことを残してください(保存先: /root/capa/dag.txt)。
  3. パラメーターを渡して、結果を受け取り、残してください(保存先: /root/capa/params.txt)。
  4. アーティファクトを次のステップに渡して、残してください(保存先: /root/capa/artifacts.txt)。
  5. retryStrategyで、実際にリトライが動くことを残してください(保存先: /root/capa/retry.txt)。
  6. onExitが、失敗したときも動くことを残してください(保存先: /root/capa/exit.txt)。
  7. WorkflowTemplateを作成して再利用し、結果を残してください(保存先: /root/capa/template.txt)。
  8. workflows_run=、retry_attempts=、exit_ran=yesの3行と説明を書いてください(保存先: /root/capa/report.md)。

参考

本当に動く

ワークフローを1つ実行して、結果を残してください(保存先: /root/capa/run.txt)。

argo submit --waitで提出し、終わったあとで、argo getとkubectl get podで確認してください。

依存関係が順序を作る

DAGで依存関係を作り、並列で動くことを残してください(保存先: /root/capa/dag.txt)。

dependenciesがないタスクは、同時に開始します。開始時刻を比べてみてください。

値を受け渡す

パラメーターを渡して、結果を受け取り、残してください(保存先: /root/capa/params.txt)。

outputs.parametersのvalueFrom.pathでファイルを読むか、scriptテンプレートの標準出力をresultとして受け取ります。

ファイルを次のステップに渡す

アーティファクトを次のステップに渡して、残してください(保存先: /root/capa/artifacts.txt)。

outputs.artifactsで出力し、inputs.artifactsのfromで受け取ります。ストアを経由していきます。

失敗したらもう一度やってみる

retryStrategyで、実際にリトライが動くことを残してください(保存先: /root/capa/retry.txt)。

retryStrategy.limitは、リトライの回数です。最初の試行はここに含まれません。

失敗しても動く場所

onExitが、失敗したときも動くことを残してください(保存先: /root/capa/exit.txt)。

onExitは、ワークフローが失敗しても動きます。{{workflow.status}}で結果がわかります。

定義を再利用する

WorkflowTemplateを作成して再利用し、結果を残してください(保存先: /root/capa/template.txt)。

WorkflowTemplateを作成して、templateRefで指してください。

何を学んだか

workflows_run=、retry_attempts=、exit_ran=yesの3行と説明を書いてください(保存先: /root/capa/report.md)。

workflows_run=、retry_attempts=、exit_ran=yesの3行と説明を書いてください。