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

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

最終更新日:Dec 25, 2024

Argo Workflowsは、YAMLファイルまたはPython SDKを使用して並列タスクを調整するKubernetesネイティブのワークフローエンジンで、コンテナー化されたアプリケーションの自動化と管理を簡素化します。 Argoワークフローは、データ処理、機械学習パイプライン、シミュレーションコンピューティング、Continuous Integration and Continuous Delivery (CICD) パイプラインなど、複数ステップのプロセス、並列タスク、依存関係が必要なシナリオに適しています。 このトピックでは、サンプルアプリケーションを使用して、Argo CLIを使用してワークフローを作成する方法を示します。

前提条件

ArgoワークフローコンポーネントとAlibaba Cloud Argo CLIがインストールされています。 詳細については、「バッチタスクオーケストレーションの有効化」をご参照ください。

手順

  1. 次のYAMLテンプレートを使用して、helloworld-workflow.yamlという名前のファイルを作成します。 このファイルは、サンプルワークフロータスクを送信するために使用されます。

    apiVersion: argoproj.io/v1alpha1
    kind: Workflow                # Defines a new Kubernetes resource type for Argo Workflows.
    metadata:
      generateName: hello-world-  # The prefix for the workflow name. Kubernetes will append a unique suffix.
    spec:
      entrypoint: main            # Specifies the template to execute first.
      templates:
        - name: main              # The name of the template.
          container:
            image: mirrors-ssl.aliyuncs.com/busybox:latest
            command: [ echo ]
            args: [ "hello world" ]
  2. 次のコマンドを実行して、ワークフローを送信します。

    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

      この出力は、ワークフローが完了したことを示します。

    2. 次のコマンドを実行して、ワークフローのステータスを確認します。

      argo get hello-world-XXXXX -n argo

      期待される出力:

      Name:                hello-world-XXXXX
      Namespace:           argo
      ServiceAccount:      unset (will run with the default 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

      この出力は、ワークフローが完了したことも確認します。

参照

ワークフローに関連するリソースは定期的に削除されます。 データベース内で永続化するには、「ワークフローの永続化」をご参照ください。