第 3 章 PerformanceProfile [performance.openshift.io/v2]


描述
PerformanceProfile 是 performanceprofiles API 的模式
类型
object

3.1. 规格

属性类型描述

apiVersion

string

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: 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

metadata

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

布尔值

GloballyDisableIrqLoadBalancing 切换用于 Isolated CPU 集是否禁用了 IRQ 负载均衡。当选项设置为 true 时,它会禁用 Isolated CPU 集的 IRQ 负载均衡。将 选项设置为 "false" 可允许在所有 CPU 间平衡 IRQ,但在使用 irq-load-balancing.crio.io/cpu-quota.crio.io 注解时,可以为每个 pod CPU 禁用 IRQ 负载均衡。默认值为 "false"

硬件调整

object

HardwareTuning 为隔离和保留的 cpus 定义一组 CPU 频率。

hugepages

object

HugePages 定义一组巨页相关参数。可以同时设置带有多个大小值的巨页。例如,巨页可以使用 1G 和 2M 设置,这两个值都由 Performance Profile Controller 在节点上设置。务必要注意,将巨页默认大小设置为 1G 将从节点中删除所有 2M 相关的文件夹,且无法在节点下配置 2M 巨页。

kernelPageSize

string

KernelPageSize 定义内核页面大小。默认为 4k,只有 aarch64 支持 64k

machineConfigLabel

对象(字符串)

MachineConfigLabel 定义要添加到 Operator 创建的 MachineConfig 中的标签。它必须在针对此性能配置集的 MachineConfigPool 的 MachineConfigSelector 中使用。默认为 "machineconfiguration.openshift.io/role=<与 NodeSelector label key> 中的相同角色"

machineConfigPoolSelector

对象(字符串)

MachineConfigPoolSelector 定义 MachineConfigPool 标签,用于 Operator 创建的 KubeletConfig 等资源的 MachineConfigPoolSelector。默认为 "machineconfiguration.openshift.io/role=<与 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 为不同类型的工作负载定义 hint。它将允许定义应应用到节点上的一组精确的 tuned 和内核参数。

3.1.2. .spec.cpu

描述
CPU 定义一组与 CPU 相关的参数。
类型
object
必填
  • 隔离
  • 保留
属性类型描述

balanceIsolated

布尔值

BalanceIsolated 切换隔离 CPU 集是否有资格进行负载均衡工作负载。当此选项设置为 "false" 时,隔离的 CPU 集将是静态的,这意味着工作负载必须明确将每个线程分配给特定的 cpu,才能在多个 CPU 间工作。将其设置为 "true" 可在 CPU 间平衡工作负载。将其设置为 "false" 可为有保证的工作负载提供最可预测的性能,但它会将 cpu 负载均衡的复杂性卸载到应用程序。默认值为 "true"

隔离

string

隔离(Isolated)定义了一组 CPU,用于为应用程序线程提供尽可能多的执行时间,这意味着从 CPU 中删除尽可能多的无关任务。务必要注意,CPU 管理器可以选择除保留 CPU 以外的任何 CPU 来运行工作负载。为了保证您的工作负载将在隔离的 CPU 上运行:1.保留 CPU 和隔离 CPU 的组合应该包括所有在线 CPU 2。isolated CPUs 字段应该是保留 CPU 字段的补充

离线

string

Offline 定义一组未使用并设置为离线的 CPU

保留

string

reserved 定义一组 CPU,它们不会用于 kubelet 启动的任何容器工作负载。

shared

string

Shared 定义了一组 CPU,这些 CPU 将在需要额外 cpus 的非专用工作负载间共享,以及这些工作负载已在使用的隔离专用资源。

3.1.3. .spec.hardwareTuning

描述
HardwareTuning 为隔离和保留的 cpus 定义一组 CPU 频率。
类型
object
属性类型描述

isolatedCpuFreq

整数

IsolatedCpuFreq 定义在隔离的 cpus 间设置的最低频率

reservedCpuFreq

整数

ReservedCpuFreq 定义在保留 cpus 间设置的最大频率

3.1.4. .spec.hugepages

描述
HugePages 定义一组巨页相关参数。可以同时设置带有多个大小值的巨页。例如,巨页可以使用 1G 和 2M 设置,这两个值都由 Performance Profile Controller 在节点上设置。务必要注意,将巨页默认大小设置为 1G 将从节点中删除所有 2M 相关的文件夹,且无法在节点下配置 2M 巨页。
类型
object
属性类型描述

defaultHugepagesSize

string

DefaultHugePagesSize 在内核引导参数下定义巨页默认大小。

pages

数组

Pages 定义了要在引导时分配的巨页。

pages[]

object

HugePage 定义分配的特定大小的巨页数。

3.1.5. .spec.hugepages.pages

描述
Pages 定义了要在引导时分配的巨页。
类型
数组

3.1.6. .spec.hugepages.pages[]

描述
HugePage 定义分配的特定大小的巨页数。
类型
object
属性类型描述

数量

整数

Count 定义巨页数量,映射到 'hugepages' 内核引导参数。

node

整数

节点定义要分配巨页的 NUMA 节点,如果未指定,则会在 NUMA 节点间平均分配页

size

string

size 定义巨页大小,映射到 'hugepagesz' 内核引导参数。

3.1.7. .spec.net

描述
Net 定义一组与网络相关的功能
类型
object
属性类型描述

devices

数组

Devices 包含网络设备表示列表,其设置的子网队列数等于 CPU.Reserved。如果没有指定设备,则默认为所有设备。

devices[]

object

Device 定义了在几个选项中代表网络设备的方法:设备名称、厂商 ID、型号 ID、PCI 路径和 MAC 地址

userLevelNetworking

布尔值

启用 UserLevelNetworking 时 - 将所有或指定的网络设备队列大小设置为保留的 CPU 量。默认值为 "false"。

3.1.8. .spec.net.devices

描述
Devices 包含网络设备表示列表,其设置的子网队列数等于 CPU.Reserved。如果没有指定设备,则默认为所有设备。
类型
数组

3.1.9. .spec.net.devices[]

描述
Device 定义了在几个选项中代表网络设备的方法:设备名称、厂商 ID、型号 ID、PCI 路径和 MAC 地址
类型
object
属性类型描述

deviceID

string

网络设备 ID(model)被重新声明为 16 位的十六进制数字。

interfaceName

string

要匹配的网络设备名称。它使用 shell 风格的通配符语法,可以是正通配符或负通配符。

vendorID

string

网络设备厂商 ID 使用 16 位十六进制数字替代。

3.1.10. .spec.numa

描述
NUMA 定义与拓扑感知关联性相关的选项
类型
object
属性类型描述

拓扑策略

string

启用 TopologyManager 时应用的策略名称 Operator 默认为 "best-effort"

3.1.11. .spec.realTimeKernel

描述
RealTimeKernel 定义一组实时内核相关参数。未设置时不会安装 RT 内核。
类型
object
属性类型描述

enabled

布尔值

Enabled 定义是否应该安装实时内核软件包。默认值为 "false"

3.1.12. .spec.workloadHints

描述
WorkloadHints 为不同类型的工作负载定义 hint。它将允许定义应应用到节点上的一组精确的 tuned 和内核参数。
类型
object
属性类型描述

HighPowerConsumption

布尔值

HighPowerConsumption 定义节点是否应该配置为高功耗模式。标志会影响功耗,但会提高 CPU 延迟。默认为false。

混合Cpus

布尔值

mixedCpus 在节点上启用 mixed-cpu-node-plugin。默认为false。

perPodPowerManagement

布尔值

PerPodPowerManagement 定义是否应根据 pod 电源管理在 中配置节点。PerPodPowerManagement 和 HighPowerConsumption hints 不能一起启用。默认为false。

realTime

布尔值

RealTime 定义是否应为实时工作负载配置节点。默认值为 true。

3.1.13. .status

描述
PerformanceProfileStatus 定义观察到的 PerformanceProfile 状态。
类型
object
属性类型描述

conditions

数组

条件代表当前状态的最新可用观察。

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

字符串

 

message

字符串

 

reason

字符串

 

status

字符串

 

type

string

ConditionType 是 Operator 协调功能的状态。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部