Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

16.3.3.4. ノードアフィニティーに違反する Pod の削除

RemovePodsViolatingNodeAffinity ストラテジーにより、ノードアフィニティーに違反するすべての Pod がノードから確実に削除されます。この状態は、ノードが Pod のアフィニティールールを満たさなくなる場合に生じる可能性があります。アフィニティールールを満たす別のノードが利用可能な場合、Pod はエビクトされます。

たとえば、podA は、スケジューリング時に requiredDuringSchedulingIgnoredDuringExecution ノードアフィニティールールを満たしているために nodeA にスケジュールされます。nodeA がルールの条件を満たさなくなり、ノードアフィニティールールを満たす別のノードが利用可能な場合は、ストラテジーは nodeA から podA をエビクトし、これを他のノードに移動します。

apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
  "RemovePodsViolatingNodeAffinity": 1
    enabled: true
    params:
      nodeAffinityType:
      - "requiredDuringSchedulingIgnoredDuringExecution" 2
1
このポリシーを使用するには、この値を enabled: true に設定します。このポリシーを無効にするには、false に設定します。
2
requiredDuringSchedulingIgnoredDuringExecution ノードのアフィニティータイプを指定します。