12.7. 선택 사항: NUMA 리소스 업데이트에 대한 폴링 작업 구성
NUMA 리소스 운영자가 제어하는 데몬은 노드 그룹 에서 리소스를 폴링하여 사용 가능한 NUMA 리소스에 대한 업데이트를 검색합니다. NUMAResourcesOperator 사용자 정의 리소스(CR)에서 spec.nodeGroups 사양을 구성하여 이러한 데몬에 대한 폴링 작업을 미세 조정할 수 있습니다. 이를 통해 여론조사 작업에 대한 고급 제어가 가능합니다. 이러한 사양을 구성하여 스케줄링 동작을 개선하고 최적이 아닌 스케줄링 결정에 대한 문제를 해결하세요.
구성 옵션은 다음과 같습니다.
-
infoRefreshMode: kubelet을 폴링하기 위한 트리거 조건을 결정합니다. NUMA 리소스 운영자는 결과 정보를 API 서버에 보고합니다. -
infoRefreshPeriod: 폴링 업데이트 사이의 기간을 결정합니다. podsFingerprinting: 노드에서 실행 중인 현재 포드 세트에 대한 특정 시점 정보가 폴링 업데이트에 노출되는지 여부를 결정합니다.참고podsFingerprinting의 기본값은EnabledExclusiveResources입니다. 스케줄러 성능을 최적화하려면podsFingerprinting을EnabledExclusiveResources또는Enabled로 설정합니다. 또한NUMAResourcesScheduler사용자 정의 리소스(CR)의cacheResyncPeriod를0보다 큰 값으로 구성합니다.cacheResyncPeriod사양은 노드에서 보류 중인 리소스를 모니터링하여 더 정확한 리소스 가용성을 보고하는 데 도움이 됩니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
cluster-admin권한이 있는 사용자로 로그인합니다. - NUMA 리소스 운영자를 설치합니다.
프로세스
NUMAResourcesOperatorCR에서spec.nodeGroups사양을 구성합니다.apiVersion: nodetopology.openshift.io/v1 kind: NUMAResourcesOperator metadata: name: numaresourcesoperator spec: nodeGroups: - config: infoRefreshMode: Periodic1 infoRefreshPeriod: 10s2 podsFingerprinting: Enabled3 name: worker- 1
- 유효한 값은
Periodic,Events,PeriodicAndEvents입니다.infoRefreshPeriod에서 정의한 간격으로 kubelet을 폴링하려면Periodic을사용합니다.이벤트를사용하여 모든 Pod 수명 주기 이벤트에서 kubelet을 폴링합니다.PeriodicAndEvents를사용하여 두 가지 방법을 모두 활성화합니다. - 2
주기적또는PeriodicAndEvents새로 고침 모드에 대한 폴링 간격을 정의합니다. 새로 고침 모드가이벤트인 경우 필드는 무시됩니다.- 3
- 유효한 값은
Enabled,Disabled,EnabledExclusiveResources입니다.NUMAResourcesScheduler의cacheResyncPeriod사양을 사용하려면Enabled또는EnabledExclusiveResources로 설정해야 합니다.
검증
NUMA 리소스 연산자를 배포한 후 다음 명령을 실행하여 노드 그룹 구성이 적용되었는지 확인하세요.
$ oc get numaresop numaresourcesoperator -o json | jq '.status'출력 예
... "config": { "infoRefreshMode": "Periodic", "infoRefreshPeriod": "10s", "podsFingerprinting": "Enabled" }, "name": "worker" ...