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


描述
PerformanceProfile 是 performanceprofiles API 的 Schema
类型
对象

3.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

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 集的 IRQs 负载均衡。将选项设置为 "false" 允许在所有 CPU 之间平衡 IRQ,但使用 irq-load-balancing.crio.io/cpu-quota.crio.io 注解时,可以禁用 IRQs 负载均衡。默认为 "false"

hardwareTuning

object

HardwareTuning 为 isolated 和 reserved cpus 定义一组 CPU 频率。

hugepages

object

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

machineConfigLabel

对象(字符串)

MachineConfigLabel 定义添加到 Operator 创建的 MachineConfig 的标签。它必须在以这个性能配置集为目标的 MachineConfigPool 的 MachineConfigSelector 中使用。默认为 "machineconfiguration.openshift.io/role=<same 角色,如 NodeSelector label key>"

machineConfigPoolSelector

对象(字符串)

MachineConfigPoolSelector 定义在 Operator 创建的 KubeletConfigs 等资源的 MachineConfigPoolSelector 中使用的 MachineConfigPool 标签。默认为 "machineconfiguration.openshift.io/role=<same 角色,如 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
必填
  • 已隔离
  • reserved
属性类型描述

balanceIsolated

布尔值

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

已隔离

string

isolated 定义一组 CPU,它们将用来为应用程序线程提供最可能执行时间,这意味着尽可能删除 CPU 的许多额外任务。务必要注意,CPU 管理器可以选择任何 CPU 来运行工作负载,但保留 CPU 除外。为确保工作负载在隔离的 CPU 上运行:1.保留 CPU 和隔离的 CPU 的 union 应该包括所有在线 CPU 2。隔离的 CPU 字段应当是保留的 CPU 字段的补充

offlined

string

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

reserved

string

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

shared

string

共享定义一组在保证工作负载之间共享的 CPU,这些 CPU 需要额外的不是专用的 cpu,以及被这些工作负载已使用的专用资源。

3.1.3. .spec.hardwareTuning

描述
HardwareTuning 为 isolated 和 reserved cpus 定义一组 CPU 频率。
类型
object
属性类型描述

isolatedCpuFreq

整数

IsolatedCpuFreq 定义在隔离的 cpu 中设置的最小频率

reservedCpuFreq

整数

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

3.1.4. .spec.hugepages

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

defaultHugepagesSize

string

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

pages

数组

页面定义我们要在引导时分配的巨页。

pages[]

object

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

3.1.5. .spec.hugepages.pages

描述
页面定义我们要在引导时分配的巨页。
类型
数组

3.1.6. .spec.hugepages.pages[]

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

数量

整数

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

node

整数

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

size

string

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

3.1.7. .spec.net

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

devices

数组

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

devices[]

object

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

userLevelNetworking

布尔值

启用 userLevelNetworking - 将 all 或指定的网络设备队列大小设置为保留 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 位 Hexmadecimal 号码。

3.1.10. .spec.numa

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

topologyPolicy

string

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

3.1.11. .spec.realTimeKernel

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

enabled

布尔值

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

3.1.12. .spec.workloadHints

描述
workloadHints 为不同类型的工作负载定义提示。它允许定义应在节点之上应用的 tuned 和内核参数集。
类型
object
属性类型描述

highPowerConsumption

布尔值

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

mixedCpus

布尔值

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 指向 Tuned 自定义资源对象,其中包含此 Operator 生成的调优值。

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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.