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/v2beta2API を使用します。- 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/v2beta2API を使用します。- 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>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f hpa.yaml
$ oc create -f hpa.yaml horizontalpodautoscaler.autoscaling/hpa-resource-metrics-memory createdCopy 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 20mCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow