7.2. Machine Autoscaler について
Machine Autoscaler は、OpenShift Container Platform クラスターにデプロイするマシンセットのコンピュートマシン数を調整します。デフォルトの worker コンピュートマシンセットおよび作成する他のコンピュートマシンセットの両方をスケーリングできます。Machine Autoscaler は、追加のデプロイメントをサポートするのに十分なリソースがクラスターにない場合に追加のマシンを作成します。MachineAutoscaler リソースの値への変更 (例: インスタンスの最小または最大数) は、それらがターゲットとするコンピュートマシンセットに即時に適用されます。
マシンをスケーリングするには、Cluster Autoscaler の Machine Autoscaler をデプロイする必要があります。Cluster Autoscaler は、スケーリングできるリソースを判別するために、Machine Autoscaler が設定するアノテーションをコンピュートマシンセットで使用します。Machine Autoscaler を定義せずに Cluster Autoscaler を定義すると、Cluster Autoscaler はクラスターをスケーリングできません。
7.2.1. Machine Autoscaler の設定 リンクのコピーリンクがクリップボードにコピーされました!
Cluster Autoscaler の設定後に、クラスターのスケーリングに使用されるコンピュートマシンセットを参照する MachineAutoscaler リソースをデプロイします。
ClusterAutoscaler リソースのデプロイ後に、1 つ以上の MachineAutoscaler リソースをデプロイする必要があります。
各コンピュートマシンセットに対して別々のリソースを設定する必要があります。コンピュートマシンセットはそれぞれのリージョンごとに異なるため、複数のリージョンでマシンのスケーリングを有効にする必要があるかどうかを考慮してください。スケーリングするコンピュートマシンセットには 1 つ以上のマシンが必要です。
7.2.1.1. Machine Autoscaler リソース定義 リンクのコピーリンクがクリップボードにコピーされました!
この MachineAutoscaler リソース定義は、Machine Autoscaler のパラメーターおよびサンプル値を表示します。
- 1
- Machine Autoscaler の名前を指定します。この Machine Autoscaler がスケーリングするコンピュートマシンセットを簡単に特定できるようにするには、スケーリングするコンピュートマシンセットの名前を指定するか、これを組み込みます。コンピュートマシンセットの名前は、
<clusterid>-<machineset>-<region>の形式を使用します。 - 2
- Cluster Autoscaler がクラスターのスケーリングを開始した後に、指定されたゾーンに残っている必要のある指定されたタイプのマシンの最小数を指定します。AWS、GCP、Azure、RHOSP または vSphere で実行している場合は、この値は
0に設定できます。他のプロバイダーの場合は、この値は0に設定しないでください。特殊なワークロードに使用されるコストがかかり、用途が限られたハードウェアを稼働する場合などのユースケースにはこの値を
0に設定するか、若干大きいマシンを使用してコンピュートマシンセットをスケーリングすることで、コストを節約できます。Cluster Autoscaler は、マシンが使用されていない場合にコンピュートマシンセットをゼロにスケールダウンします。重要インストーラーでプロビジョニングされるインフラストラクチャーの OpenShift Container Platform インストールプロセス時に作成される 3 つのコンピュートマシンセットには、
spec.minReplicasの値を0に設定しないでください。 - 3
- Cluster Autoscaler がクラスタースケーリングの開始後に指定されたゾーンにデプロイできる指定されたタイプのマシンの最大数を指定します。Machine Autoscaler がこの数のマシンをデプロイできるように、
ClusterAutoscalerリソース定義のmaxNodesTotal値が十分に大きいことを確認してください。 - 4
- このセクションでは、スケーリングする既存のコンピュートマシンセットを記述する値を指定します。
- 5
kindパラメーターの値は常にMachineSetです。- 6
nameの値は、metadata.nameパラメーター値に示されるように既存のコンピュートマシンセットの名前に一致する必要があります。
7.2.2. Machine Autoscaler のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Machine Autoscaler をデプロイするには、MachineAutoscaler リソースのインスタンスを作成します。
手順
-
カスタムリソース定義を含む
MachineAutoscalerリソースの YAML ファイルを作成します。 以下のコマンドを実行して、クラスター内にカスタムリソースを作成します。
oc create -f <filename>.yaml
$ oc create -f <filename>.yaml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<filename>はカスタムリソースファイルの名前です。