Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

16.3.3. Descheduler 정책 생성

YAML 정책 파일의 전략에 의해 정의된 규칙을 위반하는 노드에서 Pod를 제거하도록 Descheduler를 구성할 수 있습니다. 그런 다음 특정 계획 전략을 적용하기 위해 해당 구성 맵을 사용하여 정책 파일의 경로와 작업 사양을 포함하는 구성 맵을 생성합니다.

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와 함께 사용할 수 있는 세 가지 기본 전략이 있습니다.

필요에 따라 전략과 관련된 매개변수를 구성하고 비활성화할 수 있습니다.

16.3.3.1. 중복 Pod 제거

RemoveDuplicates 전략을 사용하면 동일한 노드에서 실행 중인 복제본 세트,복제 컨트롤러,배포 구성 또는 작업과 연결된 Pod가 하나만 있는지 확인합니다. 이러한 오브젝트와 연결된 다른 Pod가 있는 경우 중복된 Pod가 제거됩니다. 중복된 Pod를 제거하면 클러스터에 Pod가 분산됩니다.

예를 들어 노드가 실패하고 노드의 Pod가 다른 노드로 이동되어 동일한 노드에서 실행 중인 Replica Set 또는 Replication 컨트롤러와 연결된 두 개 이상의 Pod가 있는 경우 중복 Pod가 발생할 수 있습니다. 오류가 발생한 노드가 다시 준비되면 이 전략을 사용하여 중복된 포드를 제거할 수 있습니다.

이 전략과 연결된 매개 변수가 없습니다.

apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
  "RemoveDuplicates":
     enabled: false 1
1
이 정책을 사용하려면 이 값을 enabled: true 로 설정합니다. 이 정책을 비활성화하려면 false로 설정합니다.