Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

16.3.3.2. ノードの低使用率ポリシー (Low Node Utilization Policy) の作成

LowNodeUtilization ストラテジーは、使用率の低いノードを検出し、他のノードから Pod をエビクトして、エビクトされた Pod がそれらの使用率の低いノードにスケジュールされるようにします。

ノードの使用率は、CPU、メモリーまたは Pod 数の設定可能なしきい値 thresholds (パーセンテージベース) で決定されます。ノードの使用率がこれらのしきい値のすべてを下回る場合、ノードの使用率は低いとみなされ、Descheduler は Pod を他のノードからエビクトする可能性があります。Pod の要求リソース要件は、ノードのリソース使用率を計算する際に考慮されます。

高いしきい値の targetThresholds は、使用率が適性なノードを判別するために使用されます。thresholdstargetThresholds 間にあるノードの使用率は適性であるとみなされ、エビクションの対象にはなりません。しきい値 targetThresholds は、CPU、メモリーおよび Pod 数について設定できます (パーセンテージベース)。

これらのしきい値はクラスター要件に合わせて調整できます。

numberOfNodes パラメーターは、使用率の低いノードの数が設定された値を上回る場合にのみストラテジーをアクティブにするために設定できます。いくつかのノードの使用率が低くなることが許容される場合にこのパラメーターを設定します。デフォルトで、numberOfNodes はゼロに設定されます。

apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
  "LowNodeUtilization":
     enabled: true
     params:
       nodeResourceUtilizationThresholds:
         thresholds: 1
           "cpu" : 20
           "memory": 20
           "pods": 20
         targetThresholds: 2
           "cpu" : 50
           "memory": 50
           "pods": 50
         numberOfNodes: 3 3
1
ローエンドのしきい値を設定します。ノードがこれら 3 つの値のいずれよりも下回る場合、Descheduler はこのノードの使用率を低いとみなします。
2
ハイエンドのしきい値を設定します。ノードがこれらの値を下回り、threshold 値を上回る場合、Descheduler はノードの使用率が適正であるとみなします。
3
Descheduler が Pod を使用率の低いノードからエビクトする前に、使用率が低くなるノードの数を設定します。