3.10.6. 우선순위별 Pod 필터링

우선순위가 지정된 우선순위 수준보다 낮은 경우에만 제거를 위해 Pod를 고려하도록 Descheduler 전략을 구성할 수 있습니다. 지정된 우선순위 임계값보다 높은 Pod는 제거로 간주되지 않습니다.

ThresholdPriority 매개변수를 사용하여 숫자 우선 순위 임계값을 설정하거나 ThresholdPriorityClassName 매개변수를 사용하여 특정 우선순위 클래스 이름을 지정할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있어야 합니다.

프로세스

  1. KubeDescheduler 오브젝트를 편집합니다.

    $ oc edit kubedeschedulers.operator.openshift.io cluster -n openshift-kube-descheduler-operator
  2. 하나 이상의 전략에 ThresholdPriority 또는 ThresholdPriorityClassName 매개변수를 추가합니다.

    apiVersion: operator.openshift.io/v1beta1
    kind: KubeDescheduler
    metadata:
    ...
    spec:
      deschedulingIntervalSeconds: 3600
      strategies:
      - name: "RemovePodsHavingTooManyRestarts"
        params:
        - name: "PodRestartThreshold"
          value: "10"
        - name: "IncludingInitContainers"
          value: "false"
        - name: "ThresholdPriority" 1
          value: "10000"
      - name: "PodLifeTime"
        params:
        - name: "MaxPodLifeTimeSeconds"
          value: "86400"
        - name: "ThresholdPriorityClassName" 2
          value: "my-priority-class-name" 3
    1 2
    동일한 전략에 대해 ThresholdPriorityThresholdPriorityClassName 을 둘 다 지정할 수 없습니다.
    3
    이 우선순위 클래스 이름과 연관된 숫자 우선 순위 값이 임계값으로 사용됩니다. 우선순위 클래스가 이미 있어야 합니다. 그렇지 않으면 Descheduler에서 오류가 발생합니다.
  3. 파일을 저장하여 변경 사항을 적용합니다.