PriorityLevelConfiguration v1beta3
apiVersion: flowcontrol.apiserver.k8s.io/v1beta3
import "k8s.io/api/flowcontrol/v1beta3"
PriorityLevelConfiguration
PriorityLevelConfiguration 代表优先级级别的配置。
apiVersion: flowcontrol.apiserver.k8s.io/v1beta3
kind: PriorityLevelConfiguration
metadata (ObjectMeta)
metadata
是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (PriorityLevelConfigurationSpec)
spec
是 "请求优先级" 的预期行为规范。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-statusstatus (PriorityLevelConfigurationStatus)
status
是 "请求优先级" 的当前状态。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
PriorityLevelConfigurationSpec
PriorityLevelConfigurationSpec 指定优先级级别的配置。
type (string), 必填
type
指示此优先级级别是否受请求执行限制的约束。值"Exempt"
表示此优先级级别的请求不受限制(因此从不排队)并且不会减少为其他优先级级别提供的容量。值"Limited"
表示 (a) 此优先级级别的请求受限制约束,并且 (b) 服务器的有限容量中的一部分专门为该优先级级别提供。必填。exempt (ExemptPriorityLevelConfiguration)
exempt
指定如何处理免除优先级级别的请求。如果type
是"Limited"
,则此字段必须为空。如果type
是"Exempt"
,则此字段可以非空。如果为空且type
是"Exempt"
,则将应用ExemptPriorityLevelConfiguration
的默认值。ExemptPriorityLevelConfiguration 描述了处理免除请求的可配置方面。在强制免除配置对象中,此处字段中的值可以由授权用户修改,与
spec
中的其余部分不同。exempt.lendablePercent (int32)
lendablePercent
规定了该级别 NominalCL 的一部分可以被其他优先级级别借用。此字段的值必须介于 0 和 100 之间(含),默认值为 0。其他级别可以从此级别借用的席位数量(称为该级别的 LendableConcurrencyLimit (LendableCL)),定义如下。LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
exempt.nominalConcurrencyShares (int32)
nominalConcurrencyShares
(NCS) 参与计算此级别的 NominalConcurrencyLimit (NominalCL)。这是为该优先级级别名义上保留的执行席位数量。这不会限制从此优先级级别调度,但会通过借用机制影响其他优先级级别。服务器的并发限制 (ServerCL) 根据其 NCS 值按比例分配到所有优先级级别之间NominalCL(i) = ceil( ServerCL * NCS(i) / sum_ncs ) sum_ncs = sum[优先级级别 k] NCS(k)
更大的数字意味着更大的名义并发限制,但会以其他所有优先级级别为代价。此字段的默认值为零。
limited (LimitedPriorityLevelConfiguration)
limited
指定如何处理受限制的优先级级别的请求。仅当type
为"Limited"
时,此字段才必须非空。*LimitedPriorityLevelConfiguration 指定如何处理受限制的请求。它解决两个问题
如何限制该优先级级别的请求?
对于超过限制的请求应该怎么办?*
limited.borrowingLimitPercent (int32)
borrowingLimitPercent
,如果存在,则配置该优先级级别可以从其他优先级级别借用的席位数量限制。该限制称为该级别的 BorrowingConcurrencyLimit (BorrowingCL),是对该级别在任何时候可以借用的总席位数量的限制。此字段包含该限制与该级别名义并发限制的比率。当此字段非空时,它必须包含一个非负整数,并且限制按以下方式计算。BorrowingCL(i) = round( NominalCL(i) * borrowingLimitPercent(i)/100.0 )
此字段的值可以大于 100,这意味着该优先级级别可以借用的席位数量大于其自己的名义并发限制 (NominalCL)。当此字段保留为
nil
时,限制实际上是无限的。limited.lendablePercent (int32)
lendablePercent
规定了该级别 NominalCL 的一部分可以被其他优先级级别借用。此字段的值必须介于 0 和 100 之间(含),默认值为 0。其他级别可以从此级别借用的席位数量(称为该级别的 LendableConcurrencyLimit (LendableCL)),定义如下。LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
limited.limitResponse (LimitResponse)
limitResponse
指示如何处理无法立即执行的请求LimitResponse 定义如何处理无法立即执行的请求。
limited.limitResponse.type (string), 必填
type
是 "Queue" 或 "Reject"。"Queue" 表示无法立即执行的请求将被保留在队列中,直到可以执行或达到排队限制。"Reject" 表示无法立即执行的请求将被拒绝。必填。limited.limitResponse.queuing (QueuingConfiguration)
queuing
包含排队的配置参数。仅当type
是"Queue"
时,此字段才可能非空。QueuingConfiguration 包含排队的配置参数
limited.limitResponse.queuing.handSize (int32)
handSize
是一个小的正数,它配置将请求随机分配到队列中的方式。在将请求排队到该优先级级别时,请求的流标识符(一对字符串)将被哈希,并且哈希值用于随机分配队列列表并处理指定大小的牌。该请求将被放置到该牌中所有最短队列之一。handSize
必须不大于queues
,并且应该明显更小(这样几个繁重的流不会使大多数队列饱和)。有关设置此字段的更广泛指南,请参阅面向用户的文档。此字段的默认值为 8。limited.limitResponse.queuing.queueLengthLimit (int32)
queueLengthLimit
是允许在给定时间在该优先级级别的给定队列中等待的请求的最大数量;超过的请求将被拒绝。此值必须为正。如果未指定,它将默认设置为 50。limited.limitResponse.queuing.queues (int32)
queues
是该优先级级别的队列数量。队列独立存在于每个 apiserver 上。该值必须为正。将其设置为 1 实际上会阻止随机分配,从而使相关流模式的区分方法变得无关紧要。此字段的默认值为 64。
limited.nominalConcurrencyShares (int32)
nominalConcurrencyShares
(NCS) 参与计算该级别的 NominalConcurrencyLimit (NominalCL)。这是该优先级级别可用的执行席位数量。这用于从此优先级级别调度的请求以及从其他优先级级别借用该级别席位的请求。服务器的并发限制 (ServerCL) 根据其 NCS 值按比例分配到 Limited 优先级级别之间NominalCL(i) = ceil( ServerCL * NCS(i) / sum_ncs ) sum_ncs = sum[优先级级别 k] NCS(k)
更大的数字意味着更大的名义并发限制,但会以其他所有优先级级别为代价。此字段的默认值为 30。
PriorityLevelConfigurationStatus
PriorityLevelConfigurationStatus 表示 "请求优先级" 的当前状态。
conditions ([]PriorityLevelConfigurationCondition)
修补策略:根据键
type
合并映射:在合并期间将保留根据键类型定义的唯一值
conditions
是 "请求优先级" 的当前状态。PriorityLevelConfigurationCondition 定义优先级级别的条件。
conditions.lastTransitionTime (Time)
lastTransitionTime
是该条件从一种状态转换到另一种状态的最后时间。Time 是 time.Time 的包装器,它支持正确地编组到 YAML 和 JSON。包装器为 time 包提供的大多数工厂方法提供。
conditions.message (string)
message
是一条人类可读的消息,指示有关最后转换的详细信息。conditions.reason (string)
reason
是一个唯一的、单字的、驼峰式命名的原因,用于描述条件上次转换的原因。conditions.status (字符串)
status
是条件的状态。可以是 True、False 或 Unknown。必填。conditions.type (字符串)
type
是条件的类型。必填。
PriorityLevelConfigurationList
PriorityLevelConfigurationList 是 PriorityLevelConfiguration 对象的列表。
apiVersion: flowcontrol.apiserver.k8s.io/v1beta3
kind: PriorityLevelConfigurationList
metadata (ListMeta)
metadata
是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]PriorityLevelConfiguration), 必填
items
是请求优先级的列表。
操作
get
读取指定的 PriorityLevelConfiguration
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
401: 未授权
get
读取指定 PriorityLevelConfiguration 的状态
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
401: 未授权
list
列出或观察 PriorityLevelConfiguration 类型的对象
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations
参数
allowWatchBookmarks (查询中): 布尔值
continue (查询中): 字符串
fieldSelector (查询中): 字符串
labelSelector (查询中): 字符串
limit (查询中): 整数
pretty (查询中): 字符串
resourceVersion (查询中): 字符串
resourceVersionMatch (查询中): 字符串
sendInitialEvents (查询中): 布尔值
timeoutSeconds (查询中): 整数
watch (查询中): 布尔值
响应
200 (PriorityLevelConfigurationList): OK
401: 未授权
create
创建一个 PriorityLevelConfiguration
HTTP 请求
POST /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations
参数
body: PriorityLevelConfiguration, 必填
dryRun (查询中): 字符串
fieldManager (查询中): 字符串
fieldValidation (查询中): 字符串
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
202 (PriorityLevelConfiguration): 已接受
401: 未授权
update
替换指定的 PriorityLevelConfiguration
HTTP 请求
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
body: PriorityLevelConfiguration, 必填
dryRun (查询中): 字符串
fieldManager (查询中): 字符串
fieldValidation (查询中): 字符串
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
update
替换指定 PriorityLevelConfiguration 的状态
HTTP 请求
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
body: PriorityLevelConfiguration, 必填
dryRun (查询中): 字符串
fieldManager (查询中): 字符串
fieldValidation (查询中): 字符串
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
patch
部分更新指定的 PriorityLevelConfiguration
HTTP 请求
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
body: Patch, 必填
dryRun (查询中): 字符串
fieldManager (查询中): 字符串
fieldValidation (查询中): 字符串
force (查询中): 布尔值
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
patch
部分更新指定 PriorityLevelConfiguration 的状态
HTTP 请求
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
body: Patch, 必填
dryRun (查询中): 字符串
fieldManager (查询中): 字符串
fieldValidation (查询中): 字符串
force (查询中): 布尔值
pretty (查询中): 字符串
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
delete
删除一个 PriorityLevelConfiguration
HTTP 请求
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (路径中): 字符串, 必填
PriorityLevelConfiguration 的名称
body: DeleteOptions
dryRun (查询中): 字符串
gracePeriodSeconds (查询中): 整数
pretty (查询中): 字符串
propagationPolicy (查询中): 字符串
响应
200 (Status): OK
202 (Status): 已接受
401: 未授权
deletecollection
删除 PriorityLevelConfiguration 的集合
HTTP 请求
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations
参数
body: DeleteOptions
continue (查询中): 字符串
dryRun (查询中): 字符串
fieldSelector (查询中): 字符串
gracePeriodSeconds (查询中): 整数
labelSelector (查询中): 字符串
limit (查询中): 整数
pretty (查询中): 字符串
propagationPolicy (查询中): 字符串
resourceVersion (查询中): 字符串
resourceVersionMatch (查询中): 字符串
sendInitialEvents (查询中): 布尔值
timeoutSeconds (查询中): 整数
响应
200 (Status): OK
401: 未授权
此页面自动生成。
如果您要报告此页面上的问题,请在您的问题描述中提及页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。