Argo Workflowsは、YAMLファイルまたはPython SDKを使用して並列タスクを調整するKubernetesネイティブのワークフローエンジンで、コンテナー化されたアプリケーションの自動化と管理を簡素化します。 Argoワークフローは、データ処理、機械学習パイプライン、シミュレーションコンピューティング、Continuous Integration and Continuous Delivery (CICD) パイプラインなど、複数ステップのプロセス、並列タスク、依存関係が必要なシナリオに適しています。 このトピックでは、サンプルアプリケーションを使用して、Argo CLIを使用してワークフローを作成する方法を示します。
前提条件
ArgoワークフローコンポーネントとAlibaba Cloud Argo CLIがインストールされています。 詳細については、「バッチタスクオーケストレーションの有効化」をご参照ください。
手順
次の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" ]次のコマンドを実行して、ワークフローを送信します。
argo submit helloworld-workflow.yaml -n argoワークフローのステータスを確認します。
次のコマンドを実行して、ワークフローのリストを取得します。
argo list -n argo期待される出力:
NAME STATUS AGE DURATION PRIORITY hello-world-XXXXX Succeeded 2m 37s 0この出力は、ワークフローが完了したことを示します。
次のコマンドを実行して、ワークフローのステータスを確認します。
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この出力は、ワークフローが完了したことも確認します。
参照
ワークフローに関連するリソースは定期的に削除されます。 データベース内で永続化するには、「ワークフローの永続化」をご参照ください。