26.6. メモリー使用率の自動スケーリング
メモリー使用率の自動スケーリングはテクノロジープレビュー機能のみとして提供されています。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、開発プロセスの中でお客様に機能性のテストとフィードバックをしていただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートについての詳細は、https://access.redhat.com/support/offerings/techpreview/を参照してください。
CPU ベースの自動スケーリングとは異なり、メモリーベースの自動スケーリングでは、oc autoscale
コマンドの代わりに YAML を使用してAutoscaler を指定することが必要です。オプションとして、Pod の最小数および Pod がターゲットとする必要のある平均のメモリー使用率を指定できます。 これらを指定しない場合は、OpenShift Container Platform サーバーからのデフォルト値がこれらに指定されます。
メモリーベースの自動スケーリングは、自動スケーリング API の
v2beta1
バージョンでのみ利用できます。以下をクラスターのmaster-config.yaml
ファイルに追加してメモリーベースの自動スケーリングを有効にします。... apiServerArguments: runtime-config: - apis/autoscaling/v2beta1=true ...
以下を
hpa.yaml
などのファイルに置きます。apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: hpa-resource-metrics-memory 1 spec: scaleTargetRef: apiVersion: apps/v1 2 kind: ReplicationController 3 name: hello-hpa-memory 4 minReplicas: 1 5 maxReplicas: 10 6 metrics: - type: Resource resource: name: memory targetAverageUtilization: 50 7
次に上記のファイルから Autoscaler を作成します。
$ oc create -f hpa.yaml
メモリーベースの自動スケーリングを機能させるには、メモリー使用量がレプリカ数と比例して増減する必要があります。平均的には以下のようになります。
- レプリカ数が増えると、Pod ごとのメモリー (作業セット) の使用量が全体的に減少します。
- レプリカ数が減ると、Pod ごとのメモリー使用量が全体的に増加します。
OpenShift web コンソールを使用して、アプリケーションのメモリー動作を確認し、メモリーベースの自動スケーリングを使用する前にアプリケーションがそれらの要件を満たしていることを確認します。