×

规范

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。使用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

FlowSchemaSpec 描述了 FlowSchema 的规范是什么样的。

status

对象

FlowSchemaStatus 表示 FlowSchema 的当前状态。

.spec

描述

FlowSchemaSpec 描述了 FlowSchema 的规范是什么样的。

类型

对象

必需
  • priorityLevelConfiguration

属性 类型 描述

distinguisherMethod

对象

FlowDistinguisherMethod 指定流区分符的方法。

matchingPrecedence

整数

matchingPrecedence 用于在与给定请求匹配的 FlowSchema 之间进行选择。选择的 FlowSchema 属于那些数值最低(我们认为在逻辑上最高)的 MatchingPrecedence 之中。每个 MatchingPrecedence 值必须在 [1,10000] 范围内。请注意,如果未指定优先级,则将其设置为 1000 作为默认值。

priorityLevelConfiguration

对象

PriorityLevelConfigurationReference 包含指向正在使用的“请求优先级”的信息。

rules

数组

rules 描述哪些请求将与这个 flow schema 匹配。当且仅当 rules 的至少一个成员与请求匹配时,此 FlowSchema 才与请求匹配。如果它是一个空切片,则将没有请求与 FlowSchema 匹配。

rules[]

对象

PolicyRulesWithSubjects 指定应用于 apiserver 请求的测试。该测试考虑发出请求的主题、请求的动词和要操作的资源。当且仅当 (a) subjects 的至少一个成员与请求匹配,并且 (b) resourceRules 或 nonResourceRules 的至少一个成员与请求匹配时,此 PolicyRulesWithSubjects 才与请求匹配。

.spec.distinguisherMethod

描述

FlowDistinguisherMethod 指定流区分符的方法。

类型

对象

必需
  • 类型

属性 类型 描述

类型

字符串

type 是流区分符方法的类型。支持的类型为“ByUser”和“ByNamespace”。必需。

.spec.priorityLevelConfiguration

描述

PriorityLevelConfigurationReference 包含指向正在使用的“请求优先级”的信息。

类型

对象

必需
  • name

属性 类型 描述

name

字符串

name 是正在引用的优先级级别配置的名称。必需。

.spec.rules

描述

rules 描述哪些请求将与这个 flow schema 匹配。当且仅当 rules 的至少一个成员与请求匹配时,此 FlowSchema 才与请求匹配。如果它是一个空切片,则将没有请求与 FlowSchema 匹配。

类型

数组

.spec.rules[]

描述

PolicyRulesWithSubjects 指定应用于 apiserver 请求的测试。该测试考虑发出请求的主题、请求的动词和要操作的资源。当且仅当 (a) subjects 的至少一个成员与请求匹配,并且 (b) resourceRules 或 nonResourceRules 的至少一个成员与请求匹配时,此 PolicyRulesWithSubjects 才与请求匹配。

类型

对象

必需
  • subjects

属性 类型 描述

nonResourceRules

数组

nonResourceRules 是 NonResourcePolicyRules 的列表,根据它们的动词和目标非资源 URL 来识别匹配的请求。

nonResourceRules[]

对象

NonResourcePolicyRule 是一个谓词,根据其动词和目标非资源 URL 来匹配非资源请求。当且仅当 (a) verbs 的至少一个成员与请求匹配,并且 (b) nonResourceURLs 的至少一个成员与请求匹配时,NonResourcePolicyRule 才与请求匹配。

resourceRules

数组

resourceRules 是 ResourcePolicyRules 的切片,根据它们的动词和目标资源来识别匹配的请求。resourceRulesnonResourceRules 中至少有一个必须是非空的。

resourceRules[]

对象

ResourcePolicyRule 是一个谓词,它匹配一些资源请求,测试请求的动词和目标资源。当且仅当:(a) verbs 的至少一个成员与请求匹配,(b) apiGroups 的至少一个成员与请求匹配,(c) resources 的至少一个成员与请求匹配,并且 (d) 请求未指定命名空间(即 Namespace=="")且 clusterScope 为 true 或 (d2) 请求指定命名空间并且 namespaces 的至少一个成员与请求的命名空间匹配时,ResourcePolicyRule 才与资源请求匹配。

subjects

数组

subjects 是此规则关心的普通用户、serviceaccount 或组的列表。此切片中必须至少有一个成员。包含 system:authenticated 和 system:unauthenticated 用户组的切片匹配每个请求。必需。

subjects[]

对象

Subject 匹配请求的发起者,由请求身份验证系统标识。有三种匹配发起者的方式;通过用户、组或服务帐户。

.spec.rules[].nonResourceRules

描述

nonResourceRules 是 NonResourcePolicyRules 的列表,根据它们的动词和目标非资源 URL 来识别匹配的请求。

类型

数组

.spec.rules[].nonResourceRules[]

描述

NonResourcePolicyRule 是一个谓词,根据其动词和目标非资源 URL 来匹配非资源请求。当且仅当 (a) verbs 的至少一个成员与请求匹配,并且 (b) nonResourceURLs 的至少一个成员与请求匹配时,NonResourcePolicyRule 才与请求匹配。

类型

对象

必需
  • verbs

  • nonResourceURLs

属性 类型 描述

nonResourceURLs

数组(字符串)

nonResourceURLs 是一组用户应该可以访问的 URL 前缀,并且不能为空。例如:- "/healthz" 是合法的 - "/hea*" 是非法的 - "/hea" 是合法的,但不匹配任何内容 - "/hea/" 也不匹配任何内容 - "/healthz/" 匹配所有每个组件的健康检查。“*”匹配所有非资源 URL。如果存在,它必须是唯一的条目。必需。

verbs

数组(字符串)

verbs 是匹配动词的列表,并且不能为空。“*”匹配所有动词。如果存在,它必须是唯一的条目。必需。

.spec.rules[].resourceRules

描述

resourceRules 是 ResourcePolicyRules 的切片,根据它们的动词和目标资源来识别匹配的请求。resourceRulesnonResourceRules 中至少有一个必须是非空的。

类型

数组

.spec.rules[].resourceRules[]

描述

ResourcePolicyRule 是一个谓词,它匹配一些资源请求,测试请求的动词和目标资源。当且仅当:(a) verbs 的至少一个成员与请求匹配,(b) apiGroups 的至少一个成员与请求匹配,(c) resources 的至少一个成员与请求匹配,并且 (d) 请求未指定命名空间(即 Namespace=="")且 clusterScope 为 true 或 (d2) 请求指定命名空间并且 namespaces 的至少一个成员与请求的命名空间匹配时,ResourcePolicyRule 才与资源请求匹配。

类型

对象

必需
  • verbs

  • apiGroups

  • resources

属性 类型 描述

apiGroups

数组(字符串)

apiGroups 是匹配 API 组的列表,并且不能为空。“*”匹配所有 API 组,如果存在,则必须是唯一的条目。必需。

clusterScope

布尔值

clusterScope 指示是否匹配未指定命名空间的请求(因为资源不是命名空间范围的,或者请求目标是所有命名空间)。如果此字段省略或为 false,则 namespaces 字段必须包含非空列表。

namespaces

数组(字符串)

namespaces 是目标命名空间列表,用于限制匹配。指定目标命名空间的请求只有在 (a) 此列表包含该目标命名空间或 (b) 此列表包含 "" 时才匹配。请注意,"" 匹配任何指定的命名空间,但不匹配_未指定_命名空间的请求(有关此方面的信息,请参阅 clusterScope 字段)。此列表可以为空,但前提是 clusterScope 为 true。

resources

数组(字符串)

resources 是匹配资源(即小写且为复数)的列表,如果需要,还可以包含子资源。例如,[ "services", "nodes/status" ]。此列表不能为空。“*”匹配所有资源,如果存在,则必须是唯一的条目。必需。

verbs

数组(字符串)

verbs 是匹配动词的列表,且不能为空。“*”匹配所有动词,如果存在,则必须是唯一的条目。必需。

.spec.rules[].subjects

描述

subjects 是此规则关心的普通用户、serviceaccount 或组的列表。此切片中必须至少有一个成员。包含 system:authenticated 和 system:unauthenticated 用户组的切片匹配每个请求。必需。

类型

数组

.spec.rules[].subjects[]

描述

Subject 匹配请求的发起者,由请求身份验证系统标识。有三种匹配发起者的方式;通过用户、组或服务帐户。

类型

对象

必需
  • kind

属性 类型 描述

group

对象

GroupSubject 包含群组类型主题的详细信息。

kind

字符串

kind 指示其他哪个字段非空。必需

serviceAccount

对象

ServiceAccountSubject 包含服务帐户类型主题的详细信息。

user

对象

UserSubject 包含用户类型主题的详细信息。

.spec.rules[].subjects[].group

描述

GroupSubject 包含群组类型主题的详细信息。

类型

对象

必需
  • name

属性 类型 描述

name

字符串

name 是匹配的用户组,或 "*" 以匹配所有用户组。有关一些常用组名称,请参见 https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go。必需。

.spec.rules[].subjects[].serviceAccount

描述

ServiceAccountSubject 包含服务帐户类型主题的详细信息。

类型

对象

必需
  • namespace

  • name

属性 类型 描述

name

字符串

name 是匹配的 ServiceAccount 对象的名称,或 "*" 以匹配任何名称。必需。

namespace

字符串

namespace 是匹配的 ServiceAccount 对象的命名空间。必需。

.spec.rules[].subjects[].user

描述

UserSubject 包含用户类型主题的详细信息。

类型

对象

必需
  • name

属性 类型 描述

name

字符串

name 是匹配的用户名,或 "*" 以匹配所有用户名。必需。

.status

描述

FlowSchemaStatus 表示 FlowSchema 的当前状态。

类型

对象

属性 类型 描述

conditions

数组

conditions 是 FlowSchema 当前状态的列表。

conditions[]

对象

FlowSchemaCondition 描述 FlowSchema 的条件。

.status.conditions

描述

conditions 是 FlowSchema 当前状态的列表。

类型

数组

.status.conditions[]

描述

FlowSchemaCondition 描述 FlowSchema 的条件。

类型

对象

属性 类型 描述

lastTransitionTime

Time

lastTransitionTime 是条件从一种状态转换到另一种状态的最后时间。

message

字符串

message 是一个易于理解的消息,指示有关最后转换的详细信息。

reason

字符串

reason 是条件最后转换的唯一、单字、驼峰式原因。

status

字符串

status 是条件的状态。可以是 True、False、Unknown。必需。

类型

字符串

type 是条件的类型。必需。

API 端点

提供以下 API 端点

  • /apis/flowcontrol.apiserver.k8s.io/v1/flowschemas

    • DELETE:删除 FlowSchema 集合

    • GET:列出或观察 FlowSchema 类型的对象

    • POST:创建一个 FlowSchema

  • /apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas

    • GET:观察 FlowSchema 列表的单个更改。已弃用:改用列表操作中的“watch”参数。

  • /apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}

    • DELETE:删除一个 FlowSchema

    • GET:读取指定的 FlowSchema

    • PATCH:部分更新指定的 FlowSchema

    • PUT:替换指定的 FlowSchema

  • /apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas/{name}

    • GET:观察 FlowSchema 类型对象的更改。已弃用:改用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。

  • /apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}/status

    • GET:读取指定 FlowSchema 的状态

    • PATCH:部分更新指定 FlowSchema 的状态

    • PUT:替换指定 FlowSchema 的状态

/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas

HTTP 方法

DELETE

描述

删除 FlowSchema 集合

表 1. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法

GET

描述

列出或观察 FlowSchema 类型的对象

表 3. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchemaList 模式

401 - Unauthorized

HTTP 方法

POST

描述

创建一个 FlowSchema

表 4. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:对于对象中被丢弃的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中丢弃,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 5. 主体参数
参数 类型 描述

body

FlowSchema 模式

表 6. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

201 - Created

FlowSchema 模式

202 - Accepted

FlowSchema 模式

401 - Unauthorized

/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas

HTTP 方法

GET

描述

观察 FlowSchema 列表的单个更改。已弃用:改用列表操作中的“watch”参数。

表 7. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - Unauthorized

/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}

表 8. 全局路径参数
参数 类型 描述

name

字符串

FlowSchema 的名称

HTTP 方法

DELETE

描述

删除一个 FlowSchema

表 9. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 10. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法

GET

描述

读取指定的 FlowSchema

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

401 - Unauthorized

HTTP 方法

PATCH

描述

部分更新指定的 FlowSchema

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:对于对象中被丢弃的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中丢弃,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 13. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

201 - Created

FlowSchema 模式

401 - Unauthorized

HTTP 方法

PUT

描述

替换指定的 FlowSchema

表 14. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:对于对象中被丢弃的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中丢弃,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 15. 主体参数
参数 类型 描述

body

FlowSchema 模式

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

201 - Created

FlowSchema 模式

401 - Unauthorized

/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas/{name}

表 17. 全局路径参数
参数 类型 描述

name

字符串

FlowSchema 的名称

HTTP 方法

GET

描述

观察 FlowSchema 类型对象的更改。已弃用:改用列表操作中的“watch”参数,并使用“fieldSelector”参数将其过滤为单个项目。

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - Unauthorized

/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}/status

表 19. 全局路径参数
参数 类型 描述

name

字符串

FlowSchema 的名称

HTTP 方法

GET

描述

读取指定 FlowSchema 的状态

表 20. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

401 - Unauthorized

HTTP 方法

PATCH

描述

部分更新指定 FlowSchema 的状态

表 21. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:对于对象中被丢弃的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中丢弃,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 22. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

201 - Created

FlowSchema 模式

401 - Unauthorized

HTTP 方法

PUT

描述

替换指定 FlowSchema 的状态

表 23. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知字段或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段。这是 v1.23 之前的默认行为。- Warn:对于对象中被丢弃的每个未知字段和遇到的每个重复字段,这将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个字段。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中丢弃,或者如果存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 24. 请求体参数
参数 类型 描述

body

FlowSchema 模式

表 25. HTTP 响应
HTTP 代码 响应体

200 - OK

FlowSchema 模式

201 - Created

FlowSchema 模式

401 - Unauthorized