PerformanceProfile是performanceprofiles API的模式。
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion定义了对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind是一个字符串值,表示此对象表示的REST资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
PerformanceProfileSpec定义了PerformanceProfile的期望状态。 |
|
|
PerformanceProfileStatus定义了PerformanceProfile的观察状态。 |
PerformanceProfileSpec定义了PerformanceProfile的期望状态。
对象
cpu
nodeSelector
属性 | 类型 | 描述 |
---|---|---|
|
|
附加内核参数。 |
|
|
CPU定义了一组与CPU相关的参数。 |
|
|
GloballyDisableIrqLoadBalancing切换是否禁用隔离CPU集的IRQ负载均衡。当该选项设置为“true”时,它将禁用隔离CPU集的IRQ负载均衡。将该选项设置为“false”允许在所有CPU之间平衡IRQ,但是当使用irq-load-balancing.crio.io/cpu-quota.crio.io注释时,可以使用每个pod CPU禁用IRQ负载均衡。默认为“false” |
|
|
HardwareTuning定义了一组用于隔离和保留cpu的CPU频率。 |
|
|
HugePages定义了一组与巨页相关的参数。可以同时设置具有多个大小值的巨页。例如,可以同时设置1G和2M的巨页,这两个值都将由性能配置文件控制器设置在节点上。需要注意的是,将巨页默认大小设置为1G将删除节点上所有与2M相关的文件夹,并且将无法在节点下配置2M巨页。 |
|
|
MachineConfigLabel定义要添加到操作员创建的MachineConfig的标签。它必须用于目标此性能配置文件的MachineConfigPool的MachineConfigSelector中。默认为“machineconfiguration.openshift.io/role=<与NodeSelector标签键中的角色相同>”。 |
|
|
MachineConfigPoolSelector定义要在操作员创建的资源(如KubeletConfigs)的MachineConfigPoolSelector中使用的MachineConfigPool标签。默认为“machineconfiguration.openshift.io/role=<与NodeSelector标签键中的角色相同>”。 |
|
|
Net定义了一组与网络相关的功能。 |
|
|
NodeSelector定义要在操作员创建的资源(如Tuned)的NodeSelectors中使用的节点标签。它很可能应该(但不必)与目标此性能配置文件的MachineConfigPool的NodeSelector中的节点标签匹配。如果未设置machineConfigLabels或machineConfigPoolSelector,我们期望特定的NodeSelector格式<domain>/<role>: "",以便能够计算前面提到的字段的默认值。 |
|
|
NUMA定义了与拓扑感知亲和性相关的选项。 |
|
|
RealTimeKernel定义了一组实时内核相关的参数。未设置时,不会安装RT内核。 |
|
|
WorkloadHints为不同类型的负载定义提示。它允许定义应应用于节点顶部的tuned和内核参数的精确集合。 |
CPU定义了一组与CPU相关的参数。
对象
isolated
reserved
属性 | 类型 | 描述 |
---|---|---|
|
|
BalanceIsolated切换隔离CPU集是否符合负载均衡工作负载的条件。当此选项设置为“false”时,隔离CPU集将是静态的,这意味着工作负载必须显式地将每个线程分配给特定CPU才能跨多个CPU工作。将其设置为“true”允许在CPU之间平衡工作负载。将其设置为“false”为保证的工作负载提供最可预测的性能,但它将CPU负载均衡的复杂性卸载到应用程序。默认为“true” |
|
|
隔离定义了一组CPU,这些CPU将用于为应用程序线程提供尽可能多的执行时间,这意味着要从CPU中删除尽可能多的无关任务。需要注意的是,CPU管理器可以选择任何CPU来运行工作负载,但保留的CPU除外。为了保证您的工作负载将在隔离的CPU上运行:1. 保留的CPU和隔离的CPU的并集应包含所有在线CPU 2. 隔离的CPU字段应与保留的CPU字段互补。 |
|
|
离线定义了一组将不使用并设置为离线的CPU。 |
|
|
保留定义了一组CPU,这些CPU不会用于kubelet启动的任何容器工作负载。 |
|
|
共享定义了一组CPU,这些CPU将在需要额外非独占CPU的保证工作负载之间共享,以及这些工作负载已使用的隔离的独占资源。 |
HardwareTuning定义了一组用于隔离和保留cpu的CPU频率。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
IsolatedCpuFreq定义了在隔离的CPU上设置的最小频率。 |
|
|
ReservedCpuFreq定义了在保留的CPU上设置的最大频率。 |
HugePages定义了一组与巨页相关的参数。可以同时设置具有多个大小值的巨页。例如,可以同时设置1G和2M的巨页,这两个值都将由性能配置文件控制器设置在节点上。需要注意的是,将巨页默认大小设置为1G将删除节点上所有与2M相关的文件夹,并且将无法在节点下配置2M巨页。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
DefaultHugePagesSize定义了内核启动参数下的巨大页面的默认大小。 |
|
|
Pages定义了我们想要在启动时分配的巨大页面。 |
|
|
HugePage定义了特定大小的已分配巨大页面的数量。 |
HugePage定义了特定大小的已分配巨大页面的数量。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Count定义了巨大页面的数量,映射到“hugepages”内核启动参数。 |
|
|
Node定义了将分配巨大页面的NUMA节点,如果未指定,则将在NUMA节点之间平均分配页面。 |
|
|
Size定义了巨大页面的大小,映射到“hugepagesz”内核启动参数。 |
Net定义了一组与网络相关的功能。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Devices包含网络设备表示列表,这些表示将设置为与CPU.Reserved相等的netqueue计数。如果未指定设备,则默认为所有设备。 |
|
|
Device定义了一种以多种选项表示网络设备的方法:设备名称、供应商ID、型号ID、PCI路径和MAC地址。 |
|
|
启用UserLevelNetworking后,将所有或指定的网络设备队列大小设置为保留的CPU数量。默认为“false”。 |
Device定义了一种以多种选项表示网络设备的方法:设备名称、供应商ID、型号ID、PCI路径和MAC地址。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
以16位十六进制数表示的网络设备ID(型号)。 |
|
|
要匹配的网络设备名称。它使用shell风格通配符的语法,可以是正向的或负向的。 |
|
|
以16位十六进制数表示的网络设备供应商ID。 |
NUMA定义了与拓扑感知亲和性相关的选项。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
启用TopologyManager时应用的策略名称。操作符默认为“best-effort”。 |
RealTimeKernel定义了一组实时内核相关的参数。未设置时,不会安装RT内核。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Enabled定义是否应安装实时内核包。默认为“false”。 |
WorkloadHints为不同类型的负载定义提示。它允许定义应应用于节点顶部的tuned和内核参数的精确集合。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
HighPowerConsumption定义是否应将节点配置为高功耗模式。此标志将影响功耗,但会提高CPU延迟。默认为false。 |
|
|
MixedCpus在节点上启用mixed-cpu-node-plugin。默认为false。 |
|
|
PerPodPowerManagement定义是否应将节点配置为每个Pod的电源管理。PerPodPowerManagement和HighPowerConsumption提示不能同时启用。默认为false。 |
|
|
RealTime定义是否应将节点配置为实时工作负载。默认为true。 |
提供以下API端点
/apis/performance.openshift.io/v2/performanceprofiles
DELETE
:删除PerformanceProfile集合
GET
:列出PerformanceProfile类型的对象
POST
:创建一个PerformanceProfile
/apis/performance.openshift.io/v2/performanceprofiles/{name}
DELETE
:删除一个PerformanceProfile
GET
:读取指定的PerformanceProfile
PATCH
:部分更新指定的PerformanceProfile
PUT
:替换指定的PerformanceProfile
/apis/performance.openshift.io/v2/performanceprofiles/{name}/status
GET
:读取指定的PerformanceProfile的状态
PATCH
:部分更新指定的PerformanceProfile的状态
PUT
:替换指定的PerformanceProfile的状态
DELETE
删除PerformanceProfile集合
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出PerformanceProfile类型的对象
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个PerformanceProfile
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只会保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
PerformanceProfile 的名称 |
DELETE
删除 PerformanceProfile
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段 |
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 PerformanceProfile
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 PerformanceProfile
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只会保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 PerformanceProfile
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只会保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
PerformanceProfile 的名称 |
GET
读取指定的 PerformanceProfile 的状态
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 PerformanceProfile 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只会保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 PerformanceProfile 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:忽略任何未知字段,这些字段将从对象中静默删除,并且只会保留解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,都会通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认设置。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则会使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |