Argoワークフローは、YAMLファイルまたはPythonを使用して並列タスクを調整するKubernetesネイティブのワークフローエンジンです。 コンテナ化されたアプリケーションの自動化と管理を簡素化するため、Continuous Integration and Continuous Delivery (CICD) パイプライン、データ処理、機械学習などのシナリオに最適です。 Argoワークフローコンポーネントをインストールすることで、Container Service for Kubernetes (ACK) クラスターでバッチタスクオーケストレーションを有効にし、Alibaba Cloud Argo CLIまたはコンソールでワークフロータスクを作成および管理できます。
手順1: Argo Workflowsコンポーネントのインストール
アドオンページにArgoワークフローをインストールします。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
On theアドオンページ, 検索Argoワークフロープロンプトに従ってインストールします。
インストール後、左側のナビゲーションウィンドウから [アプリケーション] > [ヘルム] を選択します。 ack-workflowの [ステータス] 列に [デプロイ済み] が表示されている場合、コンポーネントがインストールされています。
ステップ2: Argo CLIまたはコンソールを使用する
ACKには、Alibaba Cloud Argo CLIとArgoコンソールの2つの方法でワークフローを作成および管理できます。
方法1: Alibaba Cloud Argo CLIのインストール
Alibaba Cloud Argo CLIは、オープンソースのArgo CLIと完全に互換性があり、メトリクス機能を強化します。 Alibaba Cloud Argo CLIを使用すると、ワークフローで消費されるCPUリソースとメモリリソース、およびそれらの運用コストを監視できます。 さらに、Alibaba Cloud Argo CLIでは、ログ機能が改善され、ワークフローから削除されたポッドからログを照会できます。
Alibaba Cloud Argo CLIインストールパッケージ
argo-cli-aliyun-linuxをダウンロードします。wget https://ack-one.oss-cn-hangzhou.aliyuncs.com/cli/v3.4.12/argo-cli-aliyun-linuxこのステップでは、例としてLinuxが使用されます。 DarwinおよびLinuxシステムのダウンロードリンクは、それぞれargo-cli-aliyun-darwinおよびargo-cli-aliyun-linuxです。
次のコマンドを実行して、
argo-cli-aliyun-linuxに実行可能権限を付与します。chmod +x argo-cli-aliyun-linux実行可能ファイルを、PATH環境変数に含まれる
/usr/local/bin/などのディレクトリに移動します。 ディレクトリパスは環境によって異なる場合があります。mv argo-cli-aliyun-linux /usr/local/bin/argo
方法2: アクセス資格情報を取得してArgoコンソールを使用する
1. アクセス資格情報の取得
クラスターのサービスアカウントから1時間有効な一時トークンを取得して、Argo Serverにアクセスできます。
次のコマンドを実行して、argo名前空間のargo-serverという名前のサービスアカウントから一時トークンを取得します。
kubectl create token argo-server -n argo期待される出力:
elxxxxxxxxxx2. Argoコンソールにアクセスする
アクセス資格情報を使用すると、Argoコンソールを使用できます。 デフォルトでは、内部エンドポイントはシステムによって提供され、ビジネス要件に基づいてインターネットアクセスを有効にできます。
(オプション) インターネットアクセスを有効にし、アクセス制御を設定します。
次のコマンドを実行してArgo Serverサービスを編集し、
typeの値をLoadBalancerに設定します。kubectl edit service argo-server -n argoトラフィック管理のアクセス制御を設定するには、「SLBのアクセス制御機能の操作」をご参照ください。
次のコマンドを実行して、Argo Server ServiceのパブリックIP (
EXTERNAL-IPフィールドの値) を取得します。 このIPアドレスは、サービスにアクセスするために使用されます。kubectl get service argo-server -n argo次の形式を使用して、ブラウザーのアドレスバーにパブリックIPとポートを入力します。
https://${IP}:2746期待される出力:

前の手順で取得したアクセス資格情報をテキストボックスに入力して、コンソールにログインします。 入力は、
Bearer $tokenの形式に従う必要があります。
ログオン後、NAMESPACEをargoとして入力し、タスクのステータスを確認します。

追加ステップ
上記の手順を完了したら、CLIまたはコンソールを使用して、ACKクラスターでサンプルワークフローをすばやく作成できます。 詳細については、「ワークフローの作成」をご参照ください。