Argo Workflows は、Kubernetes ネイティブのワークフローエンジンです。YAML または Python を使用して同時タスクをオーケストレートし、コンテナ化されたアプリケーションの自動化と管理を簡素化できます。CI/CD パイプライン、データ処理、機械学習に適しています。Argo Workflows コンポーネントをインストールして、バッチタスクオーケストレーションを有効にすることができます。その後、Argo CLI またはコンソールを使用してワークフローを作成および管理できます。
ステップ 1: Argo Workflows コンポーネントをインストールする
アドオンページから Argo Workflows をインストールできます。
ACS コンソールにログオンします。左側のナビゲーションペインで、クラスタをクリックします。
クラスタページで、管理するクラスタを見つけ、その ID をクリックします。クラスタの詳細ページの左側のナビゲーションペインで、操作 > アドオンを選択します。
アドオンページで、Argo Workflowsを見つけて、コンポーネントをインストールします。
コンポーネントがインストールされた後、左側のナビゲーションペインでアプリケーション > Helmを選択して、ack-workflow のステータスを表示します。ステータスがデプロイ済みと表示されている場合、コンポーネントはインストールされています。
ステップ 2: Argo CLI またはコンソールを使用する
ACK は、ワークフローを作成および管理するための 2 つの方法を提供します。Alibaba Cloud Argo CLI と Argo コンソールです。
方法 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. アクセスクレデンシャルを取得する
Argo Server にアクセスするために、クラスタのサービスアカウントから 1 時間有効な一時トークンを取得できます。
次のコマンドを実行して、argo
名前空間のargo-server
という名前のサービスアカウントから一時トークンを取得します。
kubectl create token argo-server -n argo
予想される出力:
elxxxxxxxxxx
2. Argo コンソールにアクセスする
アクセスクレデンシャルを使用すると、Argo コンソールを使用できます。デフォルトでは、システムによって内部エンドポイントが提供され、ビジネス要件に基づいてインターネットアクセスを有効にすることができます。
(オプション) インターネットアクセスを有効にし、アクセス制御を構成します。
次のコマンドを実行して Argo Server Service を編集し、
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 またはコンソールを使用して、ACS クラスタにワークフローをすばやく作成できます。詳細については、ワークフローを作成するを参照してください。