6.5. 선택사항: NUMA 리소스에 대한 폴링 작업 구성

nodeGroup 의 NUMA 리소스 Operator에서 제어하는 데몬은 사용 가능한 NUMA 리소스에 대한 업데이트를 검색합니다. NUMAResourcesOperator CR(사용자 정의 리소스)에서 spec.nodeGroups 사양을 구성하여 이러한 데몬에 대한 폴링 작업을 미세 조정할 수 있습니다. 이를 통해 폴링 작업에 대한 고급 제어가 제공됩니다. 이러한 사양을 구성하여 스케줄링 동작을 개선하고 독점적인 스케줄링 결정을 해결합니다.

구성 옵션은 다음과 같습니다.

  • infoRefreshMode: kubelet을 폴링하기 위한 트리거 조건을 결정합니다. NUMA 리소스 Operator는 결과 정보를 API 서버에 보고합니다.
  • infoRefreshPeriod: 폴링 업데이트 간 기간을 결정합니다.
  • podsFingerprinting: 노드에서 실행 중인 현재 Pod 세트에 대한 포인트-시간 정보가 폴링 업데이트에서 노출되는지 확인합니다.

    참고

    podsFingerprinting 은 기본적으로 활성화되어 있습니다. podsFingerprintingNUMAResourcesScheduler CR의 cacheResyncPeriod 사양에 대한 요구 사항입니다. cacheResyncPeriod 사양을 사용하면 노드에서 보류 중인 리소스를 모니터링하여 더 정확한 리소스 가용성을 보고할 수 있습니다.

사전 요구 사항

  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.
  • NUMA Resources Operator를 설치합니다.

절차

  • NUMAResourcesOperator CR에서 spec.nodeGroups 사양을 구성합니다.

    apiVersion: nodetopology.openshift.io/v1
    kind: NUMAResourcesOperator
    metadata:
      name: numaresourcesoperator
    spec:
      nodeGroups:
      - config:
          infoRefreshMode: Periodic 1
          infoRefreshPeriod: 10s 2
          podsFingerprinting: Enabled 3
        name: worker
    1
    유효한 값은 마침표 ,Events, Periodic AndEvents 입니다. Periodic 을 사용하여 infoRefreshPeriod 에서 정의한 간격에 따라 kubelet을 폴링합니다. 이벤트를 사용하여 모든 Pod 라이프사이클 이벤트에서 kubelet을 폴링합니다. 두 메서드를 모두 활성화하려면 PeriodicAndEvents 를 사용합니다.
    2
    마침표 또는 Periodic AndEvents 새로 고침 모드에 대한 폴링 간격을 정의합니다. 새로 고침 모드가 Events 인 경우 필드는 무시됩니다.
    3
    유효한 값은 Enabled 또는 Disabled 입니다. Enabled 로 설정하는 것은 NUMAResourcesSchedulercacheResyncPeriod 사양에 대한 요구 사항입니다.

검증

  1. NUMA 리소스 Operator를 배포한 후 다음 명령을 실행하여 노드 그룹 구성이 적용되었는지 확인합니다.

    $ oc get numaresop numaresourcesoperator -o json | jq '.status'

    출력 예

          ...
    
            "config": {
            "infoRefreshMode": "Periodic",
            "infoRefreshPeriod": "10s",
            "podsFingerprinting": "Enabled"
          },
          "name": "worker"
    
          ...