アリババクラウド ACK One: 登録クラスターにおけるクラウドノードプール（CPU/GPU）のオートスケーリング

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/alibaba-cloud-ack-one-auto-scaling-of-cloud-node-pools-cpugpu-in-registered-clusters_601898?spm=a2c65.11461433.0.0.4ee35355v8a3wo)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# ACK One Registered Clustersによるクラウドノードプールの自動スケーリング

By Zhishi

今日のデジタル時代、企業ビジネスの急速な成長はITインフラストラクチャに高い要求を課しています。しかし、従来のデータセンターはビジネスのピークとトロフに対処する上で不十分であることが明らかになっています。スケールアウトが遅く、スケールインが困難という問題は、主に従来のデータセンターが動的なリソーススケーリングを達成できないことに起因します。柔軟で効率的なソリューションの不足により、進歩は停滞していました。これを解決するために、アリババクラウドは<a href="https://www.alibabacloud.com/help/en/ack/overview-9?spm=a2c4g.11186623.0.i2" target="_blank">ACK One Registered Clusters</a>のアーキテクチャを導入しました。このアーキテクチャは、クラウドノードプール（CPU/GPU）の自動スケーリングなどの機能により、企業に突破口を提供します。

クラウドノードプールの自動スケーリングは、ビジネス需要の変化にリアルタイムで対応するためのクラウドコンピューティングリソースを動的に割り当てます。ビジネスのピーク時にはクラウドノードプールを使用してリソースを自動的にスケールアウトし、サービスの安定性を確保したり、ビジネスのトロフ時にはリソースを削減してコストを節約したりすることができます。これにより、企業は最小限のコストで最大の利益を得ることができ、コアビジネスの拡大に集中することができます。

## ACK One Registered Clustersが提供するクラウド弾性の典型的なシナリオと利点

ACK One Registered Clustersが提供するクラウド弾性は、以下のシナリオで適用できます：

- **定期的なビジネスのピークや突然の成長**：オンプレミスデータセンターのコンピューティングリソースの数は比較的固定しており、定期的なビジネスのピークやビジネストラフィックの急激な増加に対処するのが難しい場合があります。ホットサーチや大規模なECサイトのプロモーションなどが例です。
- **急速なビジネスの成長**：オンプレミスデータセンターにデプロイされたKubernetesクラスターは、データセンターコンピューティングリソースの制限により、しばしば動的に拡張できません。コンピューティングリソースの調達とデプロイには時間がかかるため、ビジネストラフィックの急速な成長に追いつくことができません。
- **AI推論とトレーニング**：複数のタイプのGPU加速インスタンスが提供され、様々な種類のAIタスクをサポートします。

以下に示す図は、ACK One Registered Clustersが提供するクラウド弾性のアーキテクチャを示しています。
![1](https://yqintl.alicdn.com/80e909eec78b0d53d09121c7e08bd35a12cf7165.png)

ACK One Registered Clustersを通じて、オンプレミスデータセンター内のKubernetesクラスターはECSノードプール（CPU/GPU）を弾性的にスケールアウトできます。アリババクラウドContainer Serviceの極端な弾性により、ビジネス需要が増加するとノードプールは自動的にノードをスケールアウトし、需要が減少するとノードを削減します。自動スケーリング方式は、顧客の弾性に対する要件を効果的に解決しながら、コストと効率において大きな利点を提供します。

クラウド弾性アーキテクチャ図は、ECS弾性コンピューティング力とServerless弾性コンピューティング力の2つのタイプの弾性コンピューティング力を示しています。次のセクションでは、それらの特長、利点、および適用可能なシナリオについて説明します。

### ECS (CPU/GPU) 弾性コンピューティング力

**特長と利点**
- **管理可能性**：インスタンス設定、ネットワーク、セキュリティに対して完全なコントロールを持っています。
- **多様なインスタンスタイプ**：一般的なアプリケーションやAIシナリオのアプリケーションのニーズを満たすために、幅広いCPUとGPUインスタンスタイプが提供されています。
- **永続的なストレージ**：データの永続性の必要性に対応するために、異なるタイプのストレージボリュームをマウントできます。

**適用可能なシナリオ**
- **長期的なアプリケーションとサービス**：ECSコンピューティング力は、長期的な運用が必要で、リソース要求が安定しているアプリケーションに適しています。
- **高性能コンピューティングタスク**：ECSコンピューティング力は、専用の高性能リソース（例えばGPU）を必要とするタスクに適しています。そのようなタスクには、AIトレーニングと推論が含まれます。

### Serverless 弾性コンピューティング力

**特長と利点**
- **サーバレスアーキテクチャ**：基盤となる仮想マシンやサーバーを管理する必要はありません。コンテナの実行にのみ集中できます。
- **迅速な開始**：ビジネスコンテナは数秒以内に開始でき、急速な容量拡張が必要なシナリオに適しています。
- **使用量に応じた課金**：実際の使用時間に基づいて課金されるため、コスト管理が非常に効率的です。

**適用可能なシナリオ**
- **短期タスクまたはバッチ処理タスク**：短期間に大量のデータを処理する必要があるシナリオに、Serverlessコンピューティング力は非常に適しています。
- **オンデマンドスケーリングアプリケーション**：Serverlessコンピューティング力は、ECサイトのプロモーションやホットニュースなど、ビジネスのピークに迅速に対応する必要があるシナリオに適しています。

### ECS (CPU/GPU) 弾性コンピューティング力とServerless 弾性コンピューティング力の違い

- **管理レベル**：Serverlessコンピューティング力は、インフラストラクチャの管理を必要としないサーバレスコンテナサービスです。ECSコンピューティング力は、サーバ設定とメンテナンスを管理できるカスタマイズ可能な仮想マシンサービスです。
- **起動速度**：Serverlessコンピューティング力の起動速度は非常に速く、迅速な対応が必要なシナリオに適しています。ECSコンピューティング力の起動は比較的遅いです。
- **柔軟性**：Serverlessコンピューティング力はより柔軟であり、短期タスクに適しています。ECSコンピューティング力は、長期運用と複雑な設定を必要とするアプリケーションに適しています。
- **コスト**：Serverlessコンピューティング力は実際の使用時間に基づいて課金されるため、短期間かつ変動するタスクに適しています。ECSコンピューティング力は、長期安定負荷に適しており、長期稼働インスタンスに対してコスト効果が高いです。

このセクションでは主に、ACK One Registered ClustersによるクラウドECS弾性について説明しました。

## オンプレミスデータセンター内のKubernetesクラスターにクラウドノードプールの自動スケーリングを追加する方法

### ACK One Registered Clustersの作成

まず、コンソールまたはコマンドラインツールを介して登録クラスターを作成します。詳細については、<a href="https://www.alibabacloud.com/help/en/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/create-a-registered-cluster-through-the-console" target="_blank">ACKコンソールでの登録クラスターの作成</a>を参照してください。

データセンター内のターゲットKubernetesクラスターにエージェントコンポーネントをデプロイします。ターゲットクラスター内のエージェントコンポーネントの実行状態を確認します。bash
kubectl
以下のコマンドを実行して保留中のPodを確認します：
kubectl get po -owide |grep nginx-deployment-autoscaler-cloud
期待される出力：
nginx-deployment-autoscaler-cloud-567d69ddb8-78szz   0/1     Pending   0          85s     <none>           <none>                         <none>           <none>
nginx-deployment-autoscaler-cloud-567d69ddb8-8c6h2   0/1     Pending   0          85s     <none>           <none>                         <none>           <none>

3. この時点で、自動スケーリングがトリガーされるまで待ちます。次のコマンドを再度実行してノードプールのリソースを確認します：
kubectl get no -l alibabacloud.com/nodepool-id=<NodePoolID>   # これは弾性的なノードプールのIDです。
期待される出力：
NAME                                    STATUS   ROLES    AGE    VERSION
cn-zhangjiakou.192.168.XX.XXX   Ready    <none>   2m2s   v1.28.2

4. ノードプールのリソースが正常に動作している場合、次のコマンドを再度実行します：
kubectl get po -owide |grep nginx-deployment-autoscaler-cloud
期待される出力：
nginx-deployment-autoscaler-cloud-66db9cb877-8r6bc   1/1     Running   0          5m29s   192.168.XX.XXX     cn-zhangjiakou.192.168.XX.XXX         <none>           <none>
nginx-deployment-autoscaler-cloud-66db9cb877-s44b8   1/1     Running   0          5m29s   192.168.XX.XXX     cn-zhangjiakou.192.168.XX.XXX         <none>           <none>

5. アプリケーションがスケールインされ、ノードリソースは自動的にリサイクルされます。

まとめ
ACK One登録クラスターが提供するクラウドノードプールは、豊富な弾性的なリソースオプションと簡単な操作手順により、企業に前例のない柔軟性とスケーラビリティを提供します。Alibaba Cloudは、一般的なコンピューティング、コンテナインスタンス、または高性能コンピューティングタスクに関わらず、ビジネス要件に迅速に対応し、企業が運用における急速な弾力性の課題をより効率的に解決するのに役立ちます。詳細については、<a href=https://www.alibabacloud.com/help/en/ack/distributed-cloud-container-platform-for-kubernetes/product-overview/ target=_blank>Alibaba Cloud ACK One 公式ウェブサイト</a>をご覧ください。