Container Service for Kubernetes (ACK) Edgeクラスターは、リージョン間のECS (Elastic Compute Service) ノード、データセンターノード、他のクラウドサービスプロバイダーのノード、工場、小売店、自動車、船舶などのさまざまな環境にあるサーバーノードなど、オンラインとオフラインの両方でさまざまなノードリソースを管理できます。 オフラインノードリソースが不十分なシナリオでは、自動スケーリング機能により、ACK Edgeクラスターのクラウドノードをシームレスに拡張し、スケジューリング機能を強化できます。 この動的スケーリングはリソースを節約し、コストを大幅に節約します。
あなたが始める前に
ACKのノードスケーリングソリューションをより適切に使用し、ビジネスに最適なソリューションを選択するには、ノードスケーリング機能を有効にする前にこのトピックを読むことをお勧めします。
このトピックを読む前に、手動スケーリング、自動スケーリング、水平スケーリング、および垂直スケーリングの用語を理解することをお勧めします。 詳細については、「Kubernetes公式ドキュメント」をご参照ください。
仕組み
Kubernetesでのノードスケーリングは、リソース使用率のしきい値に基づく従来のスケーリングモデルとは異なります。 通常、データセンターや他のオーケストレーションシステムからKubernetesにビジネスを移行した後、ノードスケーリングの問題を修正する必要があります。
ノードスケーリングソリューション
ノードスケーリングモデルは、リソース層でリソースをスケーリングします。 クラスターのサイズがポッドスケジューリング要件を満たさない場合、このモデルはノードリソースを自動的にスケーリングして、追加のスケジューリング容量を提供します。 ノードスケーリングは、クラスター自動スケーラーコンポーネントによって管理されます。このコンポーネントは、定期的にクラスター状態をポーリングして維持し、スケーリング要件を満たす条件を特定し、クラスターノードの数を自動的に調整します。
スケーリング速度と効率
スケーリングアクティビティには、標準モードで60秒、高速モードで50秒かかります。
スケーリングアクティビティの期間が1分に達すると、自動スケーリングでパフォーマンスのボトルネックが発生します。 自動スケーリングの効率は、ノードプールの数とスケーリングシナリオによって変動します。 たとえば、ノードプールの数が100を超えると、スケーリングアクティビティの期間は100〜150秒に増加します。
ポーリングモデルを使用し、クラスター状態のメンテナンスへの依存によって制約される場合、最小レイテンシは5秒です。
使用上の注意
クォータと制限
仮想プライベートクラウド (VPC) のルートテーブルに最大200のカスタムルートエントリを追加できます。 クォータ制限を増やすには、クォータセンターコンソールにログインし、アプリケーションを送信します。 他のリソースのクォータとクォータ制限を増やす方法の詳細については、「クォータと制限」トピックの「依存クラウドサービスのクォータ」セクションをご参照ください。
自動スケーリング機能を有効にして、ノードプール内のノードの最大数を適切に設定することを推奨します。 VPC CIDRブロックやvSwitchなど、指定された数のノードに対して依存リソースとクォータが十分であることを確認してください。 そうしないと、スケールアウト活動が失敗する可能性があります。 自動スケーリング機能が有効になっているノードプールでサポートされるノードの最大数の詳細については、「ノード自動スケーリングの有効化」をご参照ください。 ACKネットワークを計画する方法の詳細については、「ACKクラスターのネットワークを計画する」をご参照ください。
ノードスケーリング機能はサブスクリプションノードをサポートしていません。 自動スケーリング機能を有効にしてノードプールを作成する場合は、ノードプールの課金方法をサブスクリプションに設定しないでください。 既存のノードプールの自動スケーリング機能を有効にする場合は、ノードプールにサブスクリプションノードがないことを確認してください。
依存リソースのメンテナンス
ノードスケーリング機能によって追加されたECSノードにEIPアドレス (EIP) が関連付けられている場合、ECSコンソールでECSノードを直接削除しないでください。 そうしないと、EIPは自動的にリリースできません。
さらなる読書
ノードスケーリングの使用時に問題が発生した場合は、トラブルシューティングのためにノードスケーリングのFAQを参照してください。