16.2.4. 스케줄러 정책


서술자우선순위 를 선택하면 스케줄러에 대한 정책이 정의됩니다.

스케줄러 구성 파일은 스케줄러에서 고려할 서술자 및 우선순위를 지정하는 JSON 파일입니다.

스케줄러 정책 파일이 없으면 기본 구성 파일 /etc/origin/master/scheduler.json 이 적용됩니다.

중요

스케줄러 구성 파일에 정의된 서술자 및 우선순위는 기본 스케줄러 정책을 완전히 덮어씁니다. 기본 서술자 및 우선순위 중 하나라도 필요한 경우 스케줄러 구성 파일에서 함수를 명시적으로 지정해야 합니다.

기본 스케줄러 구성 파일

{
    "apiVersion": "v1",
    "kind": "Policy",
    "predicates": [
        {
            "name": "NoVolumeZoneConflict"
        },
        {
            "name": "MaxEBSVolumeCount"
        },
        {
            "name": "MaxGCEPDVolumeCount"
        },
        {
            "name": "MaxAzureDiskVolumeCount"
        },
        {
            "name": "MatchInterPodAffinity"
        },
        {
            "name": "NoDiskConflict"
        },
        {
            "name": "GeneralPredicates"
        },
        {
            "name": "PodToleratesNodeTaints"
        },
        {
            "argument": {
                "serviceAffinity": {
                    "labels": [
                        "region"
                    ]
                }
            },
            "name": "Region"

         }
    ],
    "priorities": [
        {
            "name": "SelectorSpreadPriority",
            "weight": 1
        },
        {
            "name": "InterPodAffinityPriority",
            "weight": 1
        },
        {
            "name": "LeastRequestedPriority",
            "weight": 1
        },
        {
            "name": "BalancedResourceAllocation",
            "weight": 1
        },
        {
            "name": "NodePreferAvoidPodsPriority",
            "weight": 10000
        },
        {
            "name": "NodeAffinityPriority",
            "weight": 1
        },
        {
            "name": "TaintTolerationPriority",
            "weight": 1
        },
        {
            "argument": {
                "serviceAntiAffinity": {
                    "label": "zone"
                }
            },
            "name": "Zone",
            "weight": 2
        }
    ]
}

16.2.4.1. 스케줄러 정책 수정

스케줄러 정책은 마스터 구성 파일의 kubernetesMasterConfig .schedulerConfigFile 필드에서 재정의하지 않는 한 기본적으로 /etc/origin/master/scheduler.json 이라는 마스터의 파일에 정의되어 있습니다.

수정된 스케줄러 구성 파일 샘플

kind: "Policy"
version: "v1"
"predicates": [
        {
            "name": "PodFitsResources"
        },
        {
            "name": "NoDiskConflict"
        },
        {
            "name": "MatchNodeSelector"
        },
        {
            "name": "HostName"
        },
        {
            "argument": {
                "serviceAffinity": {
                    "labels": [
                        "region"
                    ]
                }
            },
            "name": "Region"
        }
    ],
    "priorities": [
        {
            "name": "LeastRequestedPriority",
            "weight": 1
        },
        {
            "name": "BalancedResourceAllocation",
            "weight": 1
        },
        {
            "name": "ServiceSpreadingPriority",
            "weight": 1
        },
        {
            "argument": {
                "serviceAntiAffinity": {
                    "label": "zone"
                }
            },
            "name": "Zone",
            "weight": 2
        }
    ]

스케줄러 정책을 수정하려면 다음을 수행합니다.

  1. 스케줄러 구성 파일을 편집하여 원하는 기본 서술자 및 우선순위를 구성합니다. 사용자 지정 구성을 생성하거나 샘플 정책 구성 중 하나를 사용하고 수정할 수 있습니다.
  2. 필요한 구성 가능 서술자 및 구성 가능 우선순위 를 추가합니다.
  3. 변경 사항을 적용하려면 OpenShift Container Platform을 다시 시작하십시오.

    # master-restart api
    # master-restart controllers
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.