ワークフロークラスターは、サーバーレスアーキテクチャの上にデプロイされます。 このタイプのクラスターは、伸縮性のあるコンテナインスタンスでArgoワークフローを実行し、クラスターパラメーターを最適化して大規模なワークフローを効率性と伸縮性でスケジュールし、プリエンプティブな伸縮性のあるコンテナインスタンスを使用します。 ワークフロークラスターを作成して効率を向上させ、コストを削減できます。 このトピックでは、ワークフロークラスターを作成する方法について説明します。
前提条件
Alibaba Cloud CLI 3.0.159以降がインストールされ、資格情報がAlibaba Cloud CLIに設定されます。 詳細については、「Alibaba Cloud CLIのインストール」および「資格情報の設定」をご参照ください。
Resource Access Management (RAM) ポリシーAliyunAdcpFullAccessはRAMユーザーにアタッチされています。 詳細については、「RAMユーザーへの権限付与」をご参照ください。
ワークフロークラスターの作成
コンソールの使用
ACK Oneコンソールにログインします。
[ワークフロークラスター] ページで、右上隅の [ワークフロークラスターの作成] をクリックします。 表示されるパネルでパラメーターを設定し、[作成] をクリックします。
パラメーター
説明
クラスター名
クラスターの名前を入力します。
説明名前は1 ~ 63文字で、英数字、アンダースコア (_) 、ハイフン (-) を使用できます。 先頭は英字とする必要があります。
リージョン
クラスターをデプロイするリージョンを選択します。
[VPC]
ドロップダウンリストからVPCを選択します。
vSwitch
ドロップダウンリストからvSwitchを選択します。
APIサーバー用SLBインスタンス
設定は必要ありません。 ワークフロークラスターを作成すると、APIサーバー用にSLB. s2.smallタイプのServer Load Balancer (slb) インスタンスが作成されます。 SLBインスタンスを削除すると、APIサーバーにアクセスできなくなります。
SLB課金の詳細については、「課金の概要」をご参照ください。
EIPの作成と関連付け
elastic IPアドレス (EIP) をSLBインスタンスに関連付けるかどうかを指定します。
この機能を有効にすると、システムはEIPを作成し、それをAPIサーバーの内部対応のSLBインスタンスに関連付けます。 これにより、APIサーバーがインターネットに公開されます。 クラスターがEIPを使用してインターネット接続を介してフリートインスタンスに接続する可能性があるため、EIPの関連付けを解除することはできません。
この機能を無効にすると、インターネット経由でAPIサーバーにアクセスすることはできません。
EIP課金の詳細については、「課金の概要」をご参照ください。
操作ログと監査ログの収集の有効化
Simple Log Serviceを有効にするかどうかを指定します。
この機能を有効にすると、k8s-log-{ClusterID} という名前のサービスが自動的に作成され、kube-apiserverやkube-controller-managerなどの制御プレーンコンポーネントのログがサービスに収集されます。 これにより、ワークフロークラスターのログを監査できます。
Simple Log Serviceの課金の詳細については、「課金の概要」をご参照ください。
Alibaba Cloud CLIの使用
次のコマンドを実行して、ワークフロークラスターを作成します。
aliyun configure set -- region cn-zhangjiakou aliyun adcp CreateHubCluster -- プロファイルXFlow -- RegionId cn-zhangjiakou -- VpcId vpc-xxx -- VSwitches "[\" vsw-xxx\",\" vsw-xxx\"]" -- Name workflow1-ApiServerPublicEip true-IsEnterpriseSecurityGroup true
パラメーター
説明
プロフィール
値を
XFlow
に設定します。 This parameter is required.RegionId
ワークフロークラスターがデプロイされているリージョン。 This parameter is required. この例では、値は
cn-zhangjiakou
に設定されています。VpcId
ワークフロークラスターがデプロイされているVPCのID。 This parameter is required.
VSwitches
ワークフローが実行されるエラスティックコンテナインスタンスによって使用されるvSwitchのID。 値は配列です。 This parameter is required. 異なるゾーンに存在するvSwitchを指定します。
名前
ワークフロークラスターの名前。 このパラメーターはオプションです。
IsEnterpriseSecurityGroup
高度なセキュリティグループを使用するかどうかを指定します。 値を
true
に設定します。 This parameter is required.ApiServerPublicEip
EIPを使用してワークフローエンジンインスタンスのAPIサーバーのエンドポイントを公開するかどうかを指定します。 このパラメーターはオプションです。
次の出力が返されます。
ClusterId
パラメーターの値を出力に記録します。{ "ClusterId": "xxx" 、 "RequestId": "xxx" 、 "TaskId": "xxx" }
次のコマンドを実行して、ワークフロークラスタ.
XXX
を前の手順で記録したクラスターID
に置き換えます。aliyun adcp DescribeHubClusterDetails -- ClusterId XXX | jq。Cluster.ClusterInfo
ワークフロークラスターが
実行中
状態
になったら、次の手順に進みます。次のコマンドを実行してjqをインストールします。
macOS:
brew install jq
CentOS:
yumインストールjq
Ubuntu:
apt-getインストールjq
次のコマンドを実行して、テキストを自動的に解析し、kubeconfigファイルを生成します。
aliyun adcp DescribeHubClusterKubeconfig -- ClusterId <cluster id> | jq -r。Kubeconfig | tee ack-argo-workflow-kubeconfig # 環境変数でkubeconfigファイルを指定し、kubectlとArgo CLIを実行します。 export KUBECONFIG=ack-argo-workflow-kubeconfig
ワークフロークラスターの削除
ワークフロークラスターを削除する前に、ワークフロークラスター内のすべてのワークフローを削除する必要があります。 また、ワークフロークラスター内のポッドとエラスティックコンテナインスタンスも削除する必要があります。
コンソールの使用
ACK Oneコンソールにログインします。
ページの左上隅にあるドロップダウンリストから、削除するワークフロークラスターを選択します。
[ワークフロークラスター] ページで、右上隅の [ワークフロークラスターの削除] をクリックします。 表示されたメッセージボックスで、[OK] をクリックします。
Alibaba Cloud CLIの使用
次のコマンドを実行してArgo Serverを無効にし、関連するSLBインスタンスとelastic containerインスタンスを削除します。
aliyun adcp UpdateHubClusterFeature -- ArgoServerEnabled false -- ClusterId <cluster id>
次のコマンドを実行して、ワークフロークラスターを削除します。
aliyun adcp DeleteHubCluster -- ClusterId <cluster id>
関連ドキュメント
ワークフロークラスターを変更する方法の詳細については、「ワークフロークラスターの構成の変更」をご参照ください。
ワークフロークラスターの作成後、ワークフローを作成できます。 詳細については、「ワークフローの作成」をご参照ください。