Menu Close

3.11.2. Descheduler 프로필

다음 Descheduler 프로필을 사용할 수 있습니다.

AffinityAndTaints

이 프로필은 Pod 간 유사성 방지, 노드 유사성, 노드 테인트를 위반하는 Pod를 제거합니다.

다음과 같은 전략을 활성화합니다.

  • RemovePodsViolatingInterPodAntiAffinity: Pod 간 유사성 방지를 위반하는 Pod를 제거합니다.
  • RemovePodsViolatingNodeAffinity: 노드 유사성을 위반하는 Pod를 제거합니다.
  • RemovePodsViolatingNodeTaints: 노드에서 NoSchedule 테인트를 위반하는 Pod를 제거합니다.

    노드 유사성 유형이 requiredDuringSchedulingIgnoredDuringExecution인 Pod가 제거됩니다.

TopologyAndDuplicates

이 프로필은 노드 간에 유사한 Pod 또는 동일한 토폴로지 도메인의 Pod를 균등하게 분배하기 위해 Pod를 제거합니다.

다음과 같은 전략을 활성화합니다.

  • RemovePodsViolatingTopologySpreadConstraint: DoNotSchedule 제약 조건을 위반하는 경우 균형이 맞지 않는 토폴로지 도메인을 찾아 더 큰 도메인에서 Pod를 제거합니다.
  • RemoveDuplicates: 동일한 노드에서 실행 중인 복제본 세트, 복제 컨트롤러, 배포 또는 작업과 연결된 Pod가 하나뿐인지 확인합니다. Pod가 두 개 이상인 경우 클러스터에서 Pod를 더 잘 배포하기 위해 이러한 중복 Pod를 제거합니다.
LifecycleAndUtilization

이 프로필은 장기 실행 Pod를 제거하고 노드 간 리소스 사용량의 균형을 조정합니다.

다음과 같은 전략을 활성화합니다.

  • RemovePods authenticateTooManyRestarts: 컨테이너가 너무 여러 번 다시 시작 된 Pod를 제거합니다.

    모든 컨테이너에서 재시작하는 합계(Init Containers 포함)가 100보다 많습니다.

  • LowNodeUtilization: 활용도가 낮은 노드를 찾고, Pod 재생성 시 Pod가 이처럼 활용도가 낮은 노드에 예약되도록 가능하면 과도하게 사용된 노드에서 Pod를 제거합니다.

    모든 임계값(CPU, 메모리, Pod 수)에서 사용량이 20% 미만인 경우 노드는 활용도가 낮은 것으로 간주됩니다.

    모든 임계값(CPU, 메모리, Pod 수)에서 사용량이 50%를 초과하면 노드는 과도하게 사용되는 것으로 간주됩니다.

  • PodLifeTime: 너무 오래된 Pod를 제거합니다.

    24시간이 지난 Pod를 제거합니다.