검색

3.2.3.2. 스케줄러 우선순위 이해

download PDF

우선순위는 기본 설정에 따라 노드의 순위를 정하는 규칙입니다.

스케줄러를 구성하기 위해 사용자 정의 우선순위 집합을 지정할 수 있습니다. OpenShift Container Platform에는 기본적으로 제공되는 몇 가지 우선순위가 있습니다. 특정 매개변수를 제공하여 기타 우선순위를 사용자 정의할 수 있습니다. 여러 우선순위를 결합하고 각각 서로 다른 가중치를 부여하여 우선순위 지정에 영향을 미칠 수 있습니다.

3.2.3.2.1. 정적 우선순위

정적 우선순위에는 가중치를 제외하고 사용자의 구성 매개변수가 사용되지 않습니다. 가중치를 지정해야 하며 0 또는 음수를 사용할 수 없습니다.

해당 값은 openshift-config 프로젝트의 스케줄러 정책 구성 맵에 지정됩니다.

3.2.3.2.1.1. 기본 우선순위

기본 스케줄러 정책에는 다음과 같은 우선순위가 포함됩니다. 가중치가 10000NodePreferAvoidPodsPriority를 제외하고 각 우선순위 함수의 가중치는 1입니다.

NodeAffinityPriority 우선순위는 노드 유사성 예약 설정에 따라 노드에 우선순위를 지정합니다.

{"name" : "NodeAffinityPriority", "weight" : 1}

TaintTolerationPriority 우선순위는 Pod에 대해 허용 불가 테인트 수가 적은 노드에 우선순위를 지정합니다. 허용 불가 테인트에는 주요 PreferNoSchedule이 있습니다.

{"name" : "TaintTolerationPriority", "weight" : 1}

ImageLocalityPriority 우선순위는 요청된 Pod 컨테이너의 이미지가 이미 있는 노드에 우선순위를 지정합니다.

{"name" : "ImageLocalityPriority", "weight" : 1}

SelectorSpreadPriority 우선순위는 서비스, RC(복제 컨트롤러), RS(복제 세트), Pod와 일치하는 상태 저장 세트를 찾은 다음 해당 선택기와 일치하는 기존 Pod를 찾습니다. 스케줄러에서는 일치하는 기존 Pod가 적은 노드를 선호합니다. 그런 다음 Pod를 예약할 때 해당 선택기와 일치하는 Pod 수가 가장 적은 노드에 Pod를 예약합니다.

{"name" : "SelectorSpreadPriority", "weight" : 1}

InterPodAffinityPriority 우선순위는 weightedPodAffinityTerm의 요소를 반복하고 해당 PodAffinityTerm이 해당 노드에서 충족되는 경우 합계에 가중치를 더하여 합계를 계산합니다. 합계가 가장 많은 노드를 가장 우선적으로 고려합니다.

{"name" : "InterPodAffinityPriority", "weight" : 1}

LeastRequestedPriority 우선순위는 요청된 리소스가 적은 노드를 우선 고려합니다. 노드에 예약된 Pod에서 요청한 메모리 및 CPU의 백분율을 계산하고 사용 가능한/남은 용량이 가장 많은 노드에 우선순위를 부여합니다.

{"name" : "LeastRequestedPriority", "weight" : 1}

BalancedResourceAllocation 우선순위는 리소스 사용률이 분산된 노드에 우선순위를 부여합니다. 사용한 CPU와 메모리 간의 차이를 용량의 일부로 계산하고 두 메트릭이 서로 얼마나 비슷한지에 따라 노드에 우선순위를 부여합니다. 이 우선순위는 항상 LeastRequestedPriority와 함께 사용해야 합니다.

{"name" : "BalancedResourceAllocation", "weight" : 1}

NodePreferAvoidPodsPriority 우선순위는 복제 컨트롤러 이외의 컨트롤러에서 보유하는 Pod를 무시합니다.

{"name" : "NodePreferAvoidPodsPriority", "weight" : 10000}
3.2.3.2.1.2. 기타 정적 우선순위

OpenShift Container Platform에서는 다음과 같은 우선순위도 지원합니다.

EqualPriority 우선순위는 우선순위 구성이 제공되지 않는 경우 모든 노드에 동일한 가중치인 1을 부여합니다. 이 우선순위는 테스트 환경에만 사용하는 것이 좋습니다.

{"name" : "EqualPriority", "weight" : 1}

MostRequestedPriority 우선순위는 요청된 리소스가 가장 많은 노드에 우선순위를 부여합니다. 노드에 예약된 Pod에서 요청한 메모리와 CPU의 백분율을 계산하고 평균 용량 대비 요청 비율의 최댓값에 따라 우선순위를 부여합니다.

{"name" : "MostRequestedPriority", "weight" : 1}

ServiceSpreadingPriority 우선순위는 동일한 서비스에 속하는 Pod 수를 최소화하여 동일한 머신에 Pod를 분배합니다.

{"name" : "ServiceSpreadingPriority", "weight" : 1}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.