3장. PerformanceProfile [performance.openshift.io/v2]


설명
PerformanceProfile은 performanceprofiles API의 스키마입니다.
유형
object

3.1. 사양

속성유형설명

apiVersion

string

APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

메타데이터

ObjectMeta

표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

PerformanceProfileSpec은 원하는 PerformanceProfile 상태를 정의합니다.

status

object

PerformanceProfileStatus는 PerformanceProfile의 관찰 상태를 정의합니다.

3.1.1. .spec

설명
PerformanceProfileSpec은 원하는 PerformanceProfile 상태를 정의합니다.
유형
object
필수 항목
  • cpu
  • nodeSelector
속성유형설명

additionalKernelArgs

배열(문자열)

추가 커널 인수입니다.

cpu

object

CPU는 CPU 관련 매개변수 세트를 정의합니다.

globallyDisableIrqLoadBalancing

boolean

globallyDisableIrqLoadBalancing은 Isolated CPU 세트에 대해 IRQ 로드 밸런싱이 비활성화됩니다. 옵션을 "true"로 설정하면 Isolated CPU 세트에 대한 IRQs 로드 밸런싱이 비활성화됩니다. 옵션을 "false"로 설정하면 모든 CPU에서 IRQ를 조정할 수 있지만 irq-load-balancing.crio.io/cpu-quota.crio.io 주석을 사용하는 경우 Pod CPU별로 IRQ를 비활성화할 수 있습니다. 기본값은 "false"입니다.

hardwareTuning

object

HardwareTuning은 isolated 및 reserved cpus의 CPU 빈도 집합을 정의합니다.

hugepages

object

hugepages는 대규모 페이지 관련 매개변수 세트를 정의합니다. 동시에 여러 크기 값으로 대규모 페이지를 설정할 수 있습니다. 예를 들어 hugepages는 1G 및 2M로 설정할 수 있으며 두 값은 Performance Profile Controller에 의해 노드에 설정됩니다. hugepages 기본 크기를 1G로 설정하면 노드에서 2M 관련 폴더가 모두 제거되고 노드 아래에 2M hugepages를 구성할 수 없습니다.

machineConfigLabel

오브젝트(문자열)

MachineConfigLabel은 Operator가 생성하는 MachineConfigs에 추가할 레이블을 정의합니다. 이 성능 프로필을 대상으로 하는 MachineConfigPool의 MachineConfigSelector에서 사용해야 합니다. 기본값은 "machineconfiguration.openshift.io/role=<same role as in NodeSelector label key>"입니다.

machineConfigPoolSelector

오브젝트(문자열)

machineConfigPoolSelector는 Operator에서 생성한 KubeletConfig와 같은 리소스의 MachineConfigPoolSelector에서 사용할 MachineConfigPool 레이블을 정의합니다. 기본값은 "machineconfiguration.openshift.io/role=<same role as in NodeSelector label key>"입니다.

net

object

net은 네트워크 관련 기능 세트를 정의합니다.

nodeSelector

오브젝트(문자열)

nodeSelector는 Operator에서 생성한 Tuned와 같은 리소스의 NodeSelectors에서 사용할 Node 레이블을 정의합니다. 대부분의 경우 이 성능 프로필을 대상으로 하는 MachineConfigPool의 NodeSelector에 있는 노드 레이블과 일치하지 않아도 됩니다. machineConfigLabels 또는 machineConfigPoolSelector가 설정되지 않은 경우 이전에 언급된 필드의 기본값을 계산하기 위해 특정 NodeSelector 형식 <domain>/<role>: ""이 필요합니다.

numa

object

NUMA는 토폴로지 인식 기능과 관련된 옵션을 정의합니다.

realTimeKernel

object

RealTimeKernel은 실시간 커널 관련 매개변수 세트를 정의합니다. RT 커널은 설정되지 않은 경우 설치되지 않습니다.

workloadHints

object

WorkloadHints는 다양한 유형의 워크로드에 대한 힌트를 정의합니다. 노드 상단에 적용해야 하는 정확한 tuned 및 커널 인수 세트를 정의할 수 있습니다.

3.1.2. .spec.cpu

설명
CPU는 CPU 관련 매개변수 세트를 정의합니다.
유형
object
필수 항목
  • 분리됨
  • 예약됨
속성유형설명

balanceIsolated

boolean

BalanceIsolated는 Isolated CPU 세트가 로드 밸런싱 작업 로드에 적합한지 여부를 전환합니다. 이 옵션을 "false"로 설정하면 격리 CPU 세트가 정적이므로 워크로드가 여러 CPU에서 작동하려면 각 스레드를 특정 cpu에 명시적으로 할당해야 합니다. 이를 "true"로 설정하면 CPU 간에 워크로드의 균형을 조정할 수 있습니다. 이를 "false"로 설정하면 보장된 워크로드에 대해 가장 예측 가능한 성능이 제공되지만 cpu 부하 분산의 복잡성이 애플리케이션에 오프로드됩니다. 기본값은 "true"입니다.

분리됨

string

isolated는 애플리케이션 스레드에 가능한 가장 많은 실행 시간을 제공하는 데 사용할 CPU 세트를 정의합니다. 즉 CPU에서 가능한 많은 불필요한 작업을 제거하는 것을 의미합니다. CPU 관리자가 예약된 CPU를 제외하고 워크로드를 실행할 CPU를 선택할 수 있다는 점에 유의해야 합니다. 워크로드를 격리된 CPU에서 실행하기 위해 1. 예약된 CPU와 분리된 CPU의 통합에는 모든 온라인 CPU 2가 포함되어야 합니다. 분리된 CPU 필드는 예약된 CPU 필드에 보완적이어야 합니다.

offlined

string

오프라인에서는 사용되지 않고 오프라인으로 설정할 CPU 세트를 정의합니다.

예약됨

string

reserved는 kubelet에서 시작한 컨테이너 워크로드에 사용되지 않는 CPU 세트를 정의합니다.

공유됨

string

shared는 해당 워크로드에서 이미 사용 중인 격리된 전용 리소스와 함께 독점이 아닌 추가 cpus가 필요한 보장된 워크로드 간에 공유할 CPU 세트를 정의합니다.

3.1.3. .spec.hardwareTuning

설명
HardwareTuning은 isolated 및 reserved cpus의 CPU 빈도 집합을 정의합니다.
유형
object
속성유형설명

isolatedCpuFreq

integer

IsolatedCpuFreq는 격리된 CPU에 설정할 최소 빈도를 정의합니다.

reservedCpuFreq

integer

ReservedCpuFreq는 예약된 CPU에서 설정할 최대 빈도를 정의합니다.

3.1.4. .spec.hugepages

설명
hugepages는 대규모 페이지 관련 매개변수 세트를 정의합니다. 동시에 여러 크기 값으로 대규모 페이지를 설정할 수 있습니다. 예를 들어 hugepages는 1G 및 2M로 설정할 수 있으며 두 값은 Performance Profile Controller에 의해 노드에 설정됩니다. hugepages 기본 크기를 1G로 설정하면 노드에서 2M 관련 폴더가 모두 제거되고 노드 아래에 2M hugepages를 구성할 수 없습니다.
유형
object
속성유형설명

defaultHugepagesSize

string

DefaultHugePagesSize는 커널 부팅 매개변수에서 기본적으로 대규모 페이지 크기를 정의합니다.

pages

array

페이지는 부팅 시 할당할 대규모 페이지를 정의합니다.

pages[]

object

hugepage는 특정 크기의 할당된 대규모 페이지 수를 정의합니다.

3.1.5. .spec.hugepages.pages

설명
페이지는 부팅 시 할당할 대규모 페이지를 정의합니다.
유형
array

3.1.6. .spec.hugepages.pages[]

설명
hugepage는 특정 크기의 할당된 대규모 페이지 수를 정의합니다.
유형
object
속성유형설명

count

integer

count는 대규모 페이지 수를 정의하고 'hugepages' 커널 부팅 매개변수에 매핑됩니다.

노드

integer

node는 hugepages가 할당될 NUMA 노드를 정의합니다. 지정하지 않으면 NUMA 노드 간에 페이지가 동일하게 할당됩니다.

size

string

size는 대규모 페이지 크기를 정의하고 'hugepagesz' 커널 부팅 매개변수에 매핑됩니다.

3.1.7. .spec.net

설명
net은 네트워크 관련 기능 세트를 정의합니다.
유형
object
속성유형설명

devices

array

장치에는 CPU.Reserved와 동일한 netqueue 수로 설정할 네트워크 장치 표현 목록이 포함되어 있습니다. 장치를 지정하지 않으면 기본값은 모든 장치입니다.

devices[]

object

장치는 장치 이름, 벤더 ID, 모델 ID, PCI 경로 및 MAC 주소 등 다양한 옵션으로 네트워크 장치를 나타내는 방법을 정의합니다.

userLevelNetworking

boolean

userLevelNetworking when enabled - 모두 또는 지정된 네트워크 장치 대기열 크기를 예약된 CPU 양으로 설정합니다. 기본값은 "false"입니다.

3.1.8. .spec.net.devices

설명
장치에는 CPU.Reserved와 동일한 netqueue 수로 설정할 네트워크 장치 표현 목록이 포함되어 있습니다. 장치를 지정하지 않으면 기본값은 모든 장치입니다.
유형
array

3.1.9. .spec.net.devices[]

설명
장치는 장치 이름, 벤더 ID, 모델 ID, PCI 경로 및 MAC 주소 등 다양한 옵션으로 네트워크 장치를 나타내는 방법을 정의합니다.
유형
object
속성유형설명

deviceID

string

네트워크 장치 ID(모델)는 16비트 16비트 16진수로 대체됩니다.

interfaceName

string

일치시킬 네트워크 장치 이름입니다. 양수 또는 음수인 쉘 스타일 와일드카드 구문을 사용합니다.

vendorID

string

네트워크 장치 벤더 ID는 16비트 Hexmadecimal 번호로 대체됩니다.

3.1.10. .spec.numa

설명
NUMA는 토폴로지 인식 기능과 관련된 옵션을 정의합니다.
유형
object
속성유형설명

topologyPolicy

string

TopologyManager가 활성화된 경우 적용되는 정책의 기본값은 "best-effort"입니다.

3.1.11. .spec.realTimeKernel

설명
RealTimeKernel은 실시간 커널 관련 매개변수 세트를 정의합니다. RT 커널은 설정되지 않은 경우 설치되지 않습니다.
유형
object
속성유형설명

enabled

boolean

enabled는 실시간 커널 패키지를 설치해야 하는지 여부를 정의합니다. 기본값은 "false"입니다.

3.1.12. .spec.workloadHints

설명
WorkloadHints는 다양한 유형의 워크로드에 대한 힌트를 정의합니다. 노드 상단에 적용해야 하는 정확한 tuned 및 커널 인수 세트를 정의할 수 있습니다.
유형
object
속성유형설명

highPowerConsumption

boolean

HighPowerConsumption은 노드를 높은 전력 소비 모드로 구성해야 하는지 여부를 정의합니다. 플래그는 전력 소비에 영향을 미치지만 CPU 대기 시간이 향상됩니다. 기본값은 false입니다.

mixedCpus

boolean

CryostatedCpus를 사용하면 노드에서 mix-cpu-node-plugin을 사용할 수 있습니다. 기본값은 false입니다.

perPodPowerManagement

boolean

PerPodPowerManagement는 Pod 전원 관리에 따라 노드를 구성해야 하는지 여부를 정의합니다. PerPodPowerManagement 및 HighPowerConsumption 힌트는 함께 활성화할 수 없습니다. 기본값은 false입니다.

realTime

boolean

Realtime은 노드를 실시간 워크로드에 맞게 구성해야 하는지 여부를 정의합니다. 기본값은 true입니다.

3.1.13. .status

설명
PerformanceProfileStatus는 PerformanceProfile의 관찰 상태를 정의합니다.
유형
object
속성유형설명

conditions

array

조건은 현재 상태에 대한 사용 가능한 최신 관찰을 나타냅니다.

conditions[]

object

Condition은 Operator 조정 기능의 상태를 나타냅니다.

runtimeClass

string

RuntimeClass에는 Operator가 생성한 RuntimeClass 리소스의 이름이 포함되어 있습니다.

tuned

string

tuned는 이 Operator에서 생성한 튜닝 값이 포함된 Tuned 사용자 정의 리소스 오브젝트를 가리킵니다.

3.1.14. .status.conditions

설명
조건은 현재 상태에 대한 사용 가능한 최신 관찰을 나타냅니다.
유형
array

3.1.15. .status.conditions[]

설명
Condition은 Operator 조정 기능의 상태를 나타냅니다.
유형
object
필수 항목
  • status
  • type
속성유형설명

lastHeartbeatTime

string

 

lastTransitionTime

string

 

message

string

 

reason

string

 

status

string

 

type

string

conditionType은 Operator 조정 기능의 상태입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.