PriorityLevelConfiguration v1beta2
apiVersion: flowcontrol.apiserver.k8s.io/v1beta2
import "k8s.io/api/flowcontrol/v1beta2"
PriorityLevelConfiguration
PriorityLevelConfiguration 表示一个优先级的配置。
-
apiVersion: flowcontrol.apiserver.k8s.io/v1beta2
-
kind: PriorityLevelConfiguration
-
metadata (ObjectMeta)
metadata
是标准的对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata -
spec (PriorityLevelConfigurationSpec)
spec
是 “request-priority” 预期行为的规约。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
-
status (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) 服务器某些受限的容量仅可用于此优先级。必需。
-
limited (LimitedPriorityLevelConfiguration)
limited
指定如何为某个受限的优先级处理请求。 当且仅当type
是"Limited"
时,此字段必须为非空。LimitedPriorityLevelConfiguration 指定如何处理需要被限制的请求。它解决两个问题:
- 如何限制此优先级的请求?
- 应如何处理超出此限制的请求?
-
limited.assuredConcurrencyShares (int32)
assuredConcurrencyShares
(ACS) 配置执行限制,这是在给定时间可以执行的、此优先级的请求数量的限制。 ACS 必须是一个正数。服务器的并发限制(SCL)数量按其保证的并发份额划分到并发能力受限的各个优先级中。 这一计算会为所有这种优先级分别生成其确定的并发值(ACV),即一次可以执行的请求数量:ACV(l) = ceil( SCL * ACS(l) / ( sum[priority levels k] ACS(k) ) )
较大的 ACS 值意味着(以影响所有其他优先级为代价)保留更多的并发请求。此字段的默认值为 30。
-
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
是这个优先级的队列数。此队列在每个 API 服务器上独立存在。此值必须是正数。 将其设置为 1 相当于禁止了混洗分片操作,进而使得对相关流模式的区分方法不再有意义。 此字段的默认值为 64。
-
-
PriorityLevelConfigurationStatus
PriorityLevelConfigurationStatus 表示 “请求优先级” 的当前状况。
-
conditions ([]PriorityLevelConfigurationCondition)
Map:合并期间保留根据键 type 保留其唯一值
conditions
是 “请求优先级” 的当前状况。PriorityLevelConfigurationCondition 定义优先级的状况。
-
conditions.lastTransitionTime (Time)
lastTransitionTime
是状况上次从一个状态转换为另一个状态的时间。Time 是对 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/v1beta2
-
kind: PriorityLevelConfigurationList
-
metadata (ListMeta)
metadata
是标准的对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata -
items ([]PriorityLevelConfiguration),必需
items
是请求优先级设置的列表。
操作
get
读取指定的 PriorityLevelConfiguration
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
401: Unauthorized
get
读取指定的 PriorityLevelConfiguration 的状态
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}/status
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
401: Unauthorized
list
列出或监视 PriorityLevelConfiguration 类别的对象
HTTP 请求
GET /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations
参数
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (PriorityLevelConfigurationList): OK
401: Unauthorized
create
创建 PriorityLevelConfiguration
HTTP 请求
POST /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations
参数
-
body: PriorityLevelConfiguration,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): Created
202 (PriorityLevelConfiguration): Accepted
401: Unauthorized
update
替换指定的 PriorityLevelConfiguration
HTTP 请求
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
body: PriorityLevelConfiguration,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): Created
401: Unauthorized
update
替换指定的 PriorityLevelConfiguration 的状态
HTTP 请求
PUT /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}/status
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
body: PriorityLevelConfiguration,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): Created
401: Unauthorized
patch
部分更新指定的 PriorityLevelConfiguration
HTTP 请求
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
body: Patch,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
force (查询参数): boolean
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): Created
401: Unauthorized
patch
部分更新指定的 PriorityLevelConfiguration 的状态
HTTP 请求
PATCH /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}/status
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
body: Patch,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
force (查询参数): boolean
-
pretty (查询参数): string
响应
200 (PriorityLevelConfiguration): OK
201 (PriorityLevelConfiguration): Created
401: Unauthorized
delete
删除 PriorityLevelConfiguration
HTTP 请求
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations/{name}
参数
-
name (路径参数): string,必需
PriorityLevelConfiguration 的名称
-
body: DeleteOptions
-
dryRun (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
响应
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
删除 PriorityLevelConfiguration 的集合
HTTP 请求
DELETE /apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations
参数
-
body: DeleteOptions
-
continue (查询参数): string
-
dryRun (查询参数): string
-
fieldSelector (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
响应
200 (Status): OK
401: Unauthorized