|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
HPAに関する背景情報
水平ポッドオートスケーラー(HPA)は、Kubernetesの機能で、クラスタが実行しているサービスを自動的にスケールアップまたはスケールダウンできるように構成できます。このセクションでは、HPAがKubernetesとどのように連携するかについて説明します。
水平ポッドオートスケーラーを使用する理由は?
HPAを使用すると、レプリケーションコントローラー、デプロイメント、またはレプリカセット内のポッドの数を自動的にスケールアップまたはスケールダウンできます。HPAは、最大効率のために実行中のポッドの数を自動的にスケールアップまたはスケールダウンします。ポッドの数に影響を与える要因は次のとおりです:
-
ユーザーによって定義された、実行を許可されるポッドの最小および最大数。
-
リソースメトリクスで報告されるCPU/メモリの使用状況。
-
Prometheus、Datadogなどのサードパーティメトリクスアプリケーションによって提供されるカスタムメトリクス。
HPAは、次のようにサービスを改善します:
-
過剰な数のポッドによって無駄になるハードウェアリソースを解放します。
-
サービスレベル契約を達成するために、必要に応じてパフォーマンスを増減させます。
HPAの動作方法
HPAは制御ループとして実装されており、以下の`kube-controller-manager`フラグによって制御される周期を持っています:
| フラグ | デフォルト | 説明 |
|---|---|---|
|
|
HPAがデプロイメント内のリソース/カスタムメトリクスを監査する頻度。 |
|
|
ダウンスケール操作が完了した後、HPAが別のダウンスケール操作を開始するまでの待機時間。 |
|
|
アップスケール操作が完了した後、HPAが別のアップスケール操作を開始するまでの待機時間。 |
HPAに関する完全なドキュメントについては、 Kubernetesドキュメントを参照してください。
水平ポッドオートスケーラーAPIオブジェクト
HPAはKubernetes autoscaling APIグループのAPIリソースです。現在の安定版は`autoscaling/v1`で、CPUオートスケーリングのサポートのみが含まれています。メモリやカスタムメトリクスに基づくスケーリングの追加サポートを得るには、代わりにベータ版を使用してください: autoscaling/v2beta1。
HPA APIオブジェクトに関する詳細情報は、 HPA GitHub Readmeを参照してください。