apiVersion: performance.openshift.io/v2
kind: PerformanceProfile
metadata:
# if you change this name make sure the 'include' line in TunedPerformancePatch.yaml
# matches this name: include=openshift-node-performance-${PerformanceProfile.metadata.name}
# Also in file 'validatorCRs/informDuValidator.yaml':
# name: 50-performance-${PerformanceProfile.metadata.name}
name: openshift-node-performance-profile
annotations:
ran.openshift.io/reference-configuration: "ran-du.redhat.com"
spec:
additionalKernelArgs:
- "rcupdate.rcu_normal_after_boot=0"
- "efi=runtime"
- "vfio_pci.enable_sriov=1"
- "vfio_pci.disable_idle_d3=1"
- "module_blacklist=irdma"
cpu:
isolated: $isolated
reserved: $reserved
hugepages:
defaultHugepagesSize: $defaultHugepagesSize
pages:
- size: $size
count: $count
node: $node
machineConfigPoolSelector:
pools.operator.machineconfiguration.openshift.io/$mcp: ""
nodeSelector:
node-role.kubernetes.io/$mcp: ''
numa:
topologyPolicy: "restricted"
# To use the standard (non-realtime) kernel, set enabled to false
realTimeKernel:
enabled: true
workloadHints:
# WorkloadHints defines the set of upper level flags for different type of workloads.
# See https://github.com/openshift/cluster-node-tuning-operator/blob/master/docs/performanceprofile/performance_profile.md#workloadhints
# for detailed descriptions of each item.
# The configuration below is set for a low latency, performance mode.
realTime: true
highPowerConsumption: false
perPodPowerManagement: false
apiVersion: performance.openshift.io/v2
kind: PerformanceProfile
metadata:# if you change this name make sure the 'include' line in TunedPerformancePatch.yaml# matches this name: include=openshift-node-performance-${PerformanceProfile.metadata.name}# Also in file 'validatorCRs/informDuValidator.yaml':# name: 50-performance-${PerformanceProfile.metadata.name}name: openshift-node-performance-profile
annotations:ran.openshift.io/reference-configuration:"ran-du.redhat.com"spec:additionalKernelArgs:-"rcupdate.rcu_normal_after_boot=0"-"efi=runtime"-"vfio_pci.enable_sriov=1"-"vfio_pci.disable_idle_d3=1"-"module_blacklist=irdma"cpu:isolated: $isolated
reserved: $reserved
hugepages:defaultHugepagesSize: $defaultHugepagesSize
pages:-size: $size
count: $count
node: $node
machineConfigPoolSelector:pools.operator.machineconfiguration.openshift.io/$mcp:""nodeSelector:node-role.kubernetes.io/$mcp:''numa:topologyPolicy:"restricted"# To use the standard (non-realtime) kernel, set enabled to falserealTimeKernel:enabled:trueworkloadHints:# WorkloadHints defines the set of upper level flags for different type of workloads.# See https://github.com/openshift/cluster-node-tuning-operator/blob/master/docs/performanceprofile/performance_profile.md#workloadhints# for detailed descriptions of each item.# The configuration below is set for a low latency, performance mode.realTime:truehighPowerConsumption:falseperPodPowerManagement:false
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Expand
표 23.1. 단일 노드 OpenShift 클러스터에 대한 PerformanceProfile CR 옵션
PerformanceProfile CR 필드
설명
metadata.name
이름 이 관련 GitOps ZTP 사용자 정의 리소스(CR)에 설정된 다음 필드와 일치하는지 확인하세요.
TunedPerformancePatch.yaml 에 include=openshift-node-performance-${PerformanceProfile.metadata.name}을 포함합니다.
name: 50-performance-${PerformanceProfile.metadata.name} in validatorCRs/informDuValidator.yaml
spec.additionalKernelArgs
"efi=runtime" 클러스터 호스트에 대한 UEFI 보안 부팅을 구성합니다.
spec.cpu.isolated
격리된 CPU를 설정합니다. 모든 하이퍼스레딩 쌍이 일치하는지 확인하세요.
중요
예약된 CPU 풀과 격리된 CPU 풀은 겹치지 않아야 하며, 사용 가능한 모든 코어에 걸쳐 있어야 합니다. 계산되지 않은 CPU 코어로 인해 시스템에서 정의되지 않은 동작이 발생합니다.
spec.cpu.reserved
예약된 CPU를 설정합니다. 작업 부하 분할이 활성화되면 시스템 프로세스, 커널 스레드, 시스템 컨테이너 스레드가 해당 CPU로 제한됩니다. 분리되지 않은 모든 CPU를 예약해야 합니다.
spec.hugepages.pages
대용량 페이지 수 설정( count )
큰 페이지 크기( size )를 설정합니다.
거대 페이지가 할당된 NUMA 노드로 노드를 설정합니다( 노드 )
spec.realTimeKernel
실시간 커널을 사용하려면 enabled를true 로 설정합니다.
spec.workloadHints
workloadHints를 사용하여 다양한 유형의 워크로드에 대한 최상위 플래그 세트를 정의합니다. 예제 구성은 낮은 지연 시간과 높은 성능을 위해 클러스터를 구성합니다.