Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
16.3.3. Descheduler ポリシーの作成
Descheduler は、YAML ポリシーファイルの strategies で定義されるルールに違反するノードから Pod を削除するように設定できます。次に、設定マップを使用して特定のスケジュール解除ストラテジーを適用するためにポリシーファイルへのパスと ジョブ仕様 が含まれる 設定マップ を作成します。
Descheduler ポリシーファイルのサンプル
apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
"RemoveDuplicates":
enabled: false
"LowNodeUtilization":
enabled: true
params:
nodeResourceUtilizationThresholds:
thresholds:
"cpu" : 20
"memory": 20
"pods": 20
targetThresholds:
"cpu" : 50
"memory": 50
"pods": 50
numberOfNodes: 3
"RemovePodsViolatingInterPodAntiAffinity":
enabled: true
"RemovePodsViolatingNodeAffinity":
enabled: true
params:
nodeAffinityType:
- "requiredDuringSchedulingIgnoredDuringExecution"
Descheduler で使用できるデフォルトストラテジーとして、3 つのストラテジーがあります。
ストラテジーに関連付けられたパラメーターを必要に応じて設定し、無効にすることができます。
16.3.3.1. 重複 Pod の削除
RemoveDuplicates ストラテジーでは、1 つの Pod のみが同じノードで実行されている レプリカセット、レプリケーションコントローラー、デプロイメント設定、または ジョブ に関連付けられます。これらのオブジェクトに関連付けられている他の Pod がある場合、重複 Pod はエビクトされます。重複 Pod をエビクトすると、Pod をクラスター内により効果的に分散できます。
たとえば、ノードが失敗し、ノード上の Pod が別のノードに移行した場合に、複数の Pod が同じノードで実行されているレプリカセットまたはレプリケーションコントローラーに関連付けられると、重複 Pod が発生する可能性があります。失敗したノードが再び準備可能になると、それらの重複 Pod をエビクトするためにこのストラテジーが使用される可能性があります。
このストラテジーに関連付けられるパラメーターはありません。
apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
"RemoveDuplicates":
enabled: false 1- 1
- このポリシーを使用するには、この値を
enabled: trueに設定します。このポリシーを無効にするには、falseに設定します。