This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.1.4.3. メモリー使用率のための Horizontal Pod Autoscaler オブジェクトの作成
直接の値または要求されるメモリーのパーセンテージのいずれかで指定する平均のメモリー使用率を維持するために、オブジェクトに関連付けられた Pod を自動的にスケーリングする既存の DeploymentConfig
オブジェクトまたは ReplicationController
オブジェクトの Horizontal Pod Autoscaler (HPA) を作成できます。
HPA は、すべての Pod で指定のメモリー使用率を維持するために、最小数と最大数の間のレプリカ数を増減します。
メモリー使用率については、Pod の最小数および最大数と、Pod がターゲットとする平均のメモリー使用率を指定することができます。最小値を指定しない場合、Pod には OpenShift Container Platform サーバーからのデフォルト値が付与されます。
メモリー使用率の自動スケーリングはテクノロジープレビュー機能としてのみ提供されています。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートについての詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
Horizontal Pod Autoscaler を使用するには、クラスターの管理者はクラスターメトリクスを適切に設定している必要があります。メトリクスが設定されているかどうかは、oc describe PodMetrics <pod-name>
コマンドを使用して判断できます。メトリクスが設定されている場合、出力は以下の Usage
の下にある Cpu
と Memory
のように表示されます。
oc describe PodMetrics openshift-kube-scheduler-ip-10-0-129-223.compute.internal -n openshift-kube-scheduler
$ oc describe PodMetrics openshift-kube-scheduler-ip-10-0-129-223.compute.internal -n openshift-kube-scheduler
手順
メモリー使用率の Horizontal Pod Autoscaler を作成するには、以下を実行します。
以下のいずれか 1 つを含む YAML ファイルを作成します。
特定のメモリー値についてスケーリングするには、既存の
DeploymentConfig
オブジェクトまたはレプリケーションコントローラーについて以下のようなHorizontalPodAutoscaler
オブジェクトを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
autoscaling/v2beta2
API を使用します。- 2
- この Horizontal Pod Autoscaler オブジェクトの名前を指定します。
- 3
- スケーリングするオブジェクトの API バージョンを指定します。
-
レプリケーションコントローラーについては、
v1
を使用します。 -
DeploymentConfig
オブジェクトについては、apps.openshift.io/v1
を使用します。
-
レプリケーションコントローラーについては、
- 4
- スケーリングするオブジェクトの種類 (
ReplicationController
またはDeploymentConfig
のいずれか) を指定します。 - 5
- スケーリングするオブジェクトの名前を指定します。オブジェクトが存在する必要があります。
- 6
- スケールダウン時のレプリカの最小数を指定します。
- 7
- スケールアップ時のレプリカの最大数を指定します。
- 8
- メモリー使用率に
metrics
パラメーターを使用します。 - 9
- メモリー使用率の
memory
を指定します。 - 10
- タイプを
AverageValue
に設定します。 - 11
averageValue
および特定のメモリー値を指定します。
パーセンテージについてスケーリングするには、以下のように
HorizontalPodAutoscaler
オブジェクトを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
autoscaling/v2beta2
API を使用します。- 2
- この Horizontal Pod Autoscaler オブジェクトの名前を指定します。
- 3
- スケーリングするオブジェクトの API バージョンを指定します。
-
レプリケーションコントローラーについては、
v1
を使用します。 -
DeploymentConfig
オブジェクトについては、apps.openshift.io/v1
を使用します。
-
レプリケーションコントローラーについては、
- 4
- スケーリングするオブジェクトの種類 (
ReplicationController
またはDeploymentConfig
のいずれか) を指定します。 - 5
- スケーリングするオブジェクトの名前を指定します。オブジェクトが存在する必要があります。
- 6
- スケールダウン時のレプリカの最小数を指定します。
- 7
- スケールアップ時のレプリカの最大数を指定します。
- 8
- メモリー使用率に
metrics
パラメーターを使用します。 - 9
- メモリー使用率の
memory
を指定します。 - 10
Utilization
に設定します。- 11
averageUtilization
および ターゲットに設定する平均メモリー使用率をすべての Pod に対して指定します (要求されるメモリーのパーセントで表す)。ターゲット Pod にはメモリー要求が設定されている必要があります。
Horizontal Pod Autoscaler を作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f hpa.yaml
$ oc create -f hpa.yaml horizontalpodautoscaler.autoscaling/hpa-resource-metrics-memory created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Horizontal Pod Autoscaler が作成されていることを確認します。
oc get hpa hpa-resource-metrics-memory
$ oc get hpa hpa-resource-metrics-memory NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE hpa-resource-metrics-memory ReplicationController/example 2441216/500Mi 1 10 1 20m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow