すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Argo CLI を使用したワークフローの作成

最終更新日:Mar 27, 2026

このトピックでは、Argo CLI を使用してご利用の ACK クラスターで hello-world ワークフローを作成および実行する方法について説明します。

前提条件

開始する前に、以下を確認してください。

仕組み

Docker でコンテナを実行したことがある場合、Argo ワークフローも同じことを行いますが、Kubernetes クラスター上で実行されます。

docker run mirrors-ssl.aliyuncs.com/busybox:latest echo "hello world"

Argo ワークフローは、そのコンテナの実行を Kubernetes リソースとしてラップします。CLI コマンドの代わりに、コンテナ、そのコマンド、および引数を YAML ファイルで定義し、クラスターに投入します。

ワークフローの作成と実行

ステップ 1: ワークフローの定義

helloworld-workflow.yaml という名前のファイルを次の内容で作成します。

apiVersion: argoproj.io/v1alpha1
kind: Workflow                # Argo Workflows の新しい Kubernetes リソースタイプを定義します。
metadata:
  generateName: hello-world-  # ワークフロー名のプレフィックス。Kubernetes は一意のサフィックスを追加します。
spec:
  entrypoint: main            # 最初に実行するテンプレートを指定します。
  templates:
    - name: main              # テンプレートの名前。
      container:
        image: mirrors-ssl.aliyuncs.com/busybox:latest
        command: [ echo ]
        args: [ "hello world" ]

主要フィールド:

フィールド 説明
kind: Workflow これは Kubernetes の Argo ワークフローリソースとして宣言します。
generateName 名前プレフィックスを設定します。Kubernetes はランダムなサフィックスを追加し、各投入に対して hello-world-k8pz2 のような一意の名前を生成します。
entrypoint 最初に実行するテンプレートを指定します。複数ステップのワークフローでは、ここから実行が開始されます。
templates 作業単位を定義します。各テンプレートは、コンテナ、スクリプト、または一連のステップにすることができます。

ステップ 2: ワークフローの投入

次のコマンドを実行して、argo 名前空間にワークフローを投入します。

argo submit helloworld-workflow.yaml -n argo

ステップ 3: ワークフローのステータスの確認

  1. 名前空間内のすべてのワークフローを一覧表示します。

    argo list -n argo

    出力は次のようになります。

    NAME                STATUS      AGE   DURATION   PRIORITY
    hello-world-XXXXX   Succeeded   2m    37s        0

    Succeeded ステータスは、ワークフローが完了したことを確認します。

  2. ワークフローの詳細を取得します。

    argo get hello-world-XXXXX -n argo

    出力は次のようになります。

    Name:                hello-world-XXXXX
    Namespace:           argo
    ServiceAccount:      unset (デフォルトの ServiceAccount で実行されます)
    Status:              Succeeded
    Conditions:
     PodRunning          False
     Completed           True
    ....
    Duration:            37 seconds
    Progress:            1/1
    ResourcesDuration:   17s*(1 cpu),17s*(100Mi memory)
    
    STEP                  TEMPLATE  PODNAME            DURATION  MESSAGE
     ✔ hello-world-XXXXX  whalesay  hello-world-XXXXX  27s

    Status: Succeeded および Completed: True は、ワークフローが正常に完了したことを確認します。

Argo CLI クイックリファレンス

操作 コマンド
ワークフローの投入 argo submit <file>.yaml -n argo
すべてのワークフローを一覧表示 argo list -n argo
特定のワークフローの詳細を取得 argo get <workflow-name> -n argo

次のステップ

ワークフローリソースはクラスターから定期的に削除されます。データベースにワークフローレコードを永続化するには、「ワークフローの永続化」をご参照ください。

参考文献