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 (字符串),必需
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。其他级别可以从此级别借用的席位数(称为此级别的可借用并发限制 (LendableCL))定义如下。LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
exempt.nominalConcurrencyShares (int32)
nominalConcurrencyShares
(NCS) 有助于计算此级别的名义并发限制 (NominalCL)。这是名义上为此优先级级别保留的执行席位数。这不会限制从此优先级级别进行调度,但会通过借用机制影响其他优先级级别。服务器的并发限制 (ServerCL) 按其 NCS 值的比例在所有优先级级别之间分配NominalCL(i) = ceil( ServerCL * NCS(i) / sum_ncs ) sum_ncs = sum[priority level k] NCS(k)
数字越大,名义并发限制越大,但会牺牲所有其他优先级级别。此字段的默认值为零。
limited (LimitedPriorityLevelConfiguration)
limited
指定如何处理受限优先级级别的请求。当且仅当type
为"Limited"
时,此字段必须为非空。*LimitedPriorityLevelConfiguration 指定如何处理受限制的请求。它解决了两个问题
如何限制此优先级级别的请求?
如何处理超出限制的请求?*
limited.borrowingLimitPercent (int32)
borrowingLimitPercent
(如果存在)配置了此优先级级别可以从其他优先级级别借用的席位数限制。该限制称为此级别的借用并发限制 (BorrowingCL),是对此级别在任何时候可以借用的席位总数的限制。此字段保存该限制与此级别的名义并发限制的比率。当此字段不为 nil 时,它必须保存一个非负整数,并且限制的计算如下。BorrowingCL(i) = round( NominalCL(i) * borrowingLimitPercent(i)/100.0 )
此字段的值可以大于 100,这意味着此优先级级别可以借用的席位数大于其自身的名义并发限制 (NominalCL)。当此字段保留为
nil
时,限制实际上是无限的。limited.lendablePercent (int32)
lendablePercent
规定了该级别 NominalCL 中可以被其他优先级级别借用的部分。此字段的值必须介于 0 到 100 之间(含),默认为 0。其他级别可以从此级别借用的席位数(称为此级别的可借用并发限制 (LendableCL))定义如下。LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
limited.limitResponse (LimitResponse)
limitResponse
指示如何处理现在无法执行的请求LimitResponse 定义如何处理现在无法执行的请求。
limited.limitResponse.type (字符串),必需
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 值的比例在有限优先级级别之间分配。NominalCL(i) = ceil( ServerCL * NCS(i) / sum_ncs ) sum_ncs = sum[priority level 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 (string)
status
是条件的状态。可以是 True、False、Unknown。必需的。conditions.type (string)
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 (在路径中): string, 必需
PriorityLevelConfiguration 的名称
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
401: 未授权
get
读取指定的 PriorityLevelConfiguration 的状态
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status
参数
name (在路径中): string, 必需
PriorityLevelConfiguration 的名称
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
401: 未授权
list
列出或观察 PriorityLevelConfiguration 类型的对象
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations
参数
allowWatchBookmarks (在查询中): boolean
continue (在查询中): string
fieldSelector (在查询中): string
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
watch (在查询中): boolean
响应
200 (PriorityLevelConfigurationList): OK
401: 未授权
create
创建一个 PriorityLevelConfiguration
HTTP 请求
POST /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations
参数
body: PriorityLevelConfiguration, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
202 (PriorityLevelConfiguration): 已接受
401: 未授权
update
替换指定的 PriorityLevelConfiguration
HTTP 请求
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (在路径中): string, 必需
PriorityLevelConfiguration 的名称
body: PriorityLevelConfiguration, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
update
替换指定的 PriorityLevelConfiguration 的状态
HTTP 请求
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status
参数
name (在路径中): string, 必需
PriorityLevelConfiguration 的名称
body: PriorityLevelConfiguration, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
patch
部分更新指定的 PriorityLevelConfiguration
HTTP 请求
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (在路径中): string, 必需
PriorityLevelConfiguration 的名称
body: Patch, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
force (在查询中): boolean
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
patch
部分更新指定的 PriorityLevelConfiguration 的状态
HTTP 请求
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status
参数
name (在路径中): string, 必需
PriorityLevelConfiguration 的名称
body: Patch, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
force (在查询中): boolean
pretty (在查询中): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): 已创建
401: 未授权
delete
删除 PriorityLevelConfiguration
HTTP 请求
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}
参数
name (在路径中): string, 必需
PriorityLevelConfiguration 的名称
body: DeleteOptions
dryRun (在查询中): string
gracePeriodSeconds (在查询中): integer
pretty (在查询中): string
propagationPolicy (在查询中): string
响应
200 (Status): OK
202 (Status): 已接受
401: 未授权
deletecollection
删除 PriorityLevelConfiguration 集合
HTTP 请求
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations
参数
body: DeleteOptions
continue (在查询中): string
dryRun (在查询中): string
fieldSelector (在查询中): string
gracePeriodSeconds (在查询中): integer
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
propagationPolicy (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
响应
200 (Status): OK
401: 未授权
本页面自动生成。
如果您打算报告此页面的问题,请在问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。