12.4. 단일 NUMA 노드 정책 구성


NUMA 리소스 운영자는 클러스터에서 단일 NUMA 노드 정책을 구성해야 합니다. 이는 두 가지 방법으로 달성할 수 있습니다. 성능 프로필을 생성하고 적용하거나 KubeletConfig를 구성하는 것입니다.

참고

단일 NUMA 노드 정책을 구성하는 가장 좋은 방법은 성능 프로필을 적용하는 것입니다. 성과 프로필 생성기(PPC) 도구를 사용하여 성과 프로필을 생성할 수 있습니다. 클러스터에서 성능 프로필이 생성되면 KubeletConfig튜닝된 프로필과 같은 다른 튜닝 구성 요소도 자동으로 생성됩니다.

성과 프로필 생성에 대한 자세한 내용은 "추가 리소스" 섹션의 "성과 프로필 생성기 정보"를 참조하세요.

12.4.1. 성능 프로파일의 예

이 YAML 예제는 PPC(성능 프로필 생성기) 도구를 사용하여 생성된 성능 프로필을 보여줍니다.

apiVersion: performance.openshift.io/v2
kind: PerformanceProfile
metadata:
  name: performance
spec:
  cpu:
    isolated: "3"
    reserved: 0-2
  machineConfigPoolSelector:
    pools.operator.machineconfiguration.openshift.io/worker: "" 
1

  nodeSelector:
    node-role.kubernetes.io/worker: ""
  numa:
    topologyPolicy: single-numa-node 
2

  realTimeKernel:
    enabled: true
  workloadHints:
    highPowerConsumption: true
    perPodPowerManagement: false
    realTime: true
Copy to Clipboard Toggle word wrap
1
이 값은 NUMA 리소스 연산자를 구성하려는 MachineConfigPool 값과 일치해야 합니다. 예를 들어, 통신 작업을 실행하는 노드 집합을 지정하는 worker-cnf 라는 MachineConfigPool 객체를 만들 수 있습니다. MachineConfigPool 의 값은 나중에 "NUMAResourcesOperator 사용자 정의 리소스 만들기"에서 구성하는 NUMAResourcesOperator CR의 machineConfigPoolSelector 값과 일치해야 합니다.
2
PPC 도구를 실행할 때 topology-manager-policy 인수를 single-numa-node 로 설정하여 topologyPolicy 필드가 single-numa-node 로 설정되어 있는지 확인합니다.
참고

호스팅된 제어 평면 클러스터의 경우 machineConfigPoolSelector는 어떠한 기능적 효과도 미치지 않습니다. 대신 노드 연결은 지정된 NodePool 개체에 의해 결정됩니다.

12.4.2. KubeletConfig CR 생성

단일 NUMA 노드 정책을 구성하는 데 권장되는 방법은 성능 프로필을 적용하는 것입니다. 또 다른 방법은 다음 절차에 표시된 대로 KubeletConfig 사용자 정의 리소스(CR)를 만들고 적용하는 것입니다.

프로세스

  1. 머신 프로필에 대한 포드 입장 정책을 구성하는 KubeletConfig 사용자 정의 리소스(CR)를 만듭니다.

    1. 다음 YAML을 nro-kubeletconfig.yaml 파일에 저장합니다.

      apiVersion: machineconfiguration.openshift.io/v1
      kind: KubeletConfig
      metadata:
        name: worker-tuning
      spec:
        machineConfigPoolSelector:
          matchLabels:
            pools.operator.machineconfiguration.openshift.io/worker: "" 
      1
      
        kubeletConfig:
          cpuManagerPolicy: "static" 
      2
      
          cpuManagerReconcilePeriod: "5s"
          reservedSystemCPUs: "0,1" 
      3
      
          memoryManagerPolicy: "Static" 
      4
      
          evictionHard:
            memory.available: "100Mi"
          kubeReserved:
            memory: "512Mi"
          reservedMemory:
            - numaNode: 0
              limits:
                memory: "1124Mi"
          systemReserved:
            memory: "512Mi"
          topologyManagerPolicy: "single-numa-node" 
      5
      Copy to Clipboard Toggle word wrap
      1
      이 레이블이 나중에 "NUMAResourcesOperator 사용자 정의 리소스 만들기"에서 구성하는 NUMAResourcesOperator CR의 machineConfigPoolSelector 설정과 일치하는지 확인하세요.
      2
      cpuManagerPolicy 의 경우 static은 소문자 s를 사용해야 합니다.
      3
      노드의 CPU에 따라 이를 조정하세요.
      4
      memoryManagerPolicy 의 경우 Static은 대문자 S를 사용해야 합니다.
      5
      topologyManagerPolicy는 single-numa-node 로 설정되어야 합니다.
      참고

      호스팅된 제어 평면 클러스터의 경우 machineConfigPoolSelector 설정은 어떠한 기능적 영향도 미치지 않습니다. 대신 노드 연결은 지정된 NodePool 개체에 의해 결정됩니다. 호스팅된 제어 평면 클러스터에 KubeletConfig를 적용하려면 구성이 포함된 ConfigMap을 만든 다음 NodePoolspec.config 필드 내에서 해당 ConfigMap을 참조해야 합니다.

    2. 다음 명령을 실행하여 KubeletConfig CR을 만듭니다.

      $ oc create -f nro-kubeletconfig.yaml
      Copy to Clipboard Toggle word wrap
      참고

      성능 프로필이나 KubeletConfig를 적용하면 노드가 자동으로 재부팅됩니다. 재부팅이 발생하지 않으면 KubeletConfig 에서 노드 그룹을 나타내는 레이블을 확인하여 문제를 해결할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat