3.2.3. 負荷ベースの制限
クラスターがホストできる Hosted Control Plane の最大数は、Hosted Control Plane の Kubernetes API サーバーに何らかのワークロードが配置されたときの Hosted Control Plane Pod の CPU とメモリーの使用量に基づいて計算されます。
次の方法を使用して、ワークロードの増加に伴う Hosted Control Plane のリソース使用量を測定しました。
- KubeVirt プラットフォームを使用し、それぞれ 8 つの仮想 CPU と 32 GiB を使用する 9 つのワーカーを持つホステッドクラスター
次の定義に基づいて、API コントロールプレーンのストレスに重点を置くように設定されたワークロードテストプロファイル:
- 各 namespace にオブジェクトを作成し、合計 100 の namespace まで拡張しました。
- オブジェクトの継続的な削除と作成により、API のストレスを増加させます。
- ワークロードの 1 秒あたりのクエリー数 (QPS) とバースト設定を高く設定して、クライアント側のスロットリングを排除します。
負荷が 1000 QPS 増加すると、Hosted Control Plane のリソース使用量が、仮想 CPU 9 個分およびメモリー 2.5 GB 分増加します。
一般的なサイジングが目的の場合は、1000 QPS の API レートを 中程度 のホステッドクラスターの負荷、2000 QPS の API レートを 高程度 のホステッドクラスターの負荷とみなしてください。
このテストでは、予想される API 負荷に基づいてコンピュートリソースの使用量を増やすために、推定係数を定めています。正確な使用率は、クラスターのワークロードのタイプとペースによって異なる場合があります。
次の例は、ワークロードおよび API レート定義の Hosted Control Plane リソースのスケーリングを示しています。
| QPS (API レート) | 仮想 CPU の使用量 | メモリーの使用量 (GiB) |
|---|---|---|
| 低負荷 (50 QPS 未満) | 2.9 | 11.1 |
| 中負荷 (1000 QPS) | 11.9 | 13.6 |
| 高負荷 (2000 QPS) | 20.9 | 16.1 |
Hosted Control Plane のサイジングは、コントロールプレーンの負荷と、大量の API アクティビティー、etcd アクティビティー、またはその両方を引き起こすワークロードに関係します。データベースの実行など、データプレーンの負荷に重点を置くホスト型 Pod ワークロードでは、API レートが高くならない可能性があります。