第 4 章 FlowSchema [flowcontrol.apiserver.k8s.io/v1beta3]


描述
FlowSchema 定义一组流的 schema。请注意,流由一组带有类似属性的入站 API 请求组成,并通过一对字符串来标识: FlowSchema 的名称和一个 "flow distinguisher"。
类型
对象

4.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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 的当前状态。

4.1.1. .spec

描述
FlowSchemaSpec 描述 FlowSchema 的规格如何。
类型
object
必填
  • priorityLevelConfiguration
属性类型描述

distinguisherMethod

对象

FlowDistinguisherMethod 指定流区分器的方法。

matchingPrecedence

整数

matchingPrecedence 用于在与给定请求匹配的 FlowSchemas 中进行选择。所选的 FlowSchema 是其中数字最低(我们需要逻辑上最高的)匹配中。每个 MatchingPrecedence 值都必须的范围为 [1,10000]。请注意,如果没有指定优先级,它将默认设置为 1000。

priorityLevelConfiguration

对象

PriorityLevelConfigurationReference 包含指向正在使用的"request-priority"的信息。

rules

array

规则 描述了哪些请求与此流模式匹配。此 FlowSchema 将匹配请求,只有在至少有一个规则成员与请求匹配时才匹配。如果它是空的片段,则不会有与 FlowSchema 匹配的请求。

rules[]

对象

PolicyRulesWithSubjects 规定了一个适用于 apiserver 请求的测试。该测试将考虑提出请求的主题、被请求的操作动词,以及要处理的资源。此 PolicyRulesWithSubjects 匹配一个请求,只有在(a)至少一个主题成员与请求匹配,且(b)至少匹配 resourceRules 或 nonResourceRules 的一个成员。

4.1.2. .spec.distinguisherMethod

描述
FlowDistinguisherMethod 指定流区分器的方法。
类型
object
必填
  • type
属性类型描述

type

字符串

type 是流区分器方法的类型。支持的类型是 "ByUser" 和 "ByNamespace"。必需。

4.1.3. .spec.priorityLevelConfiguration

描述
PriorityLevelConfigurationReference 包含指向正在使用的"request-priority"的信息。
类型
object
必填
  • name
属性类型描述

name

字符串

name 是被引用所需的优先级级别配置的名称。

4.1.4. .spec.rules

描述
规则 描述了哪些请求与此流模式匹配。此 FlowSchema 将匹配请求,只有在至少有一个规则成员与请求匹配时才匹配。如果它是空的片段,则不会有与 FlowSchema 匹配的请求。
类型
array

4.1.5. .spec.rules[]

描述
PolicyRulesWithSubjects 规定了一个适用于 apiserver 请求的测试。该测试将考虑提出请求的主题、被请求的操作动词,以及要处理的资源。此 PolicyRulesWithSubjects 匹配一个请求,只有在(a)至少一个主题成员与请求匹配,且(b)至少匹配 resourceRules 或 nonResourceRules 的一个成员。
类型
object
必填
  • subjects
属性类型描述

nonResourceRules

array

nonResourceRules 是一个 NonResourcePolicyRules 列表,它根据其操作动词和目标非资源 URL 识别匹配的请求。

nonResourceRules[]

对象

NonResourcePolicyRule 是一个 predicate,根据其操作动词和目标非资源 URL 匹配非资源请求。如果(a)至少一个操作动词与请求匹配,并且(b)至少匹配请求,并且(b)至少匹配请求,则 NonResourcePolicyRule 匹配请求。

resourceRules

array

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

resourceRules[]

对象

ResourcePolicyRule 是一个与某些资源请求匹配的 predicate,测试请求的操作动词和目标资源。ResourcePolicyRule 会匹配一个资源请求(如果且仅匹配一个操作动词)与请求匹配,(b)至少一个 apiGroups 成员与请求匹配,(c)至少一个资源成员与请求匹配,(d1)请求没有指定命名空间(即 Namespace=="")和 clusterScope 为 true 或(d2)请求。

subjects

array

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

subjects[]

对象

主题与请求的原始卷匹配,如请求身份验证系统所标识。匹配原始器的方式有三种;根据用户、组或服务帐户。

4.1.6. .spec.rules[].nonResourceRules

描述
nonResourceRules 是一个 NonResourcePolicyRules 列表,它根据其操作动词和目标非资源 URL 识别匹配的请求。
类型
array

4.1.7. .spec.rules[].nonResourceRules[]

描述
NonResourcePolicyRule 是一个 predicate,根据其操作动词和目标非资源 URL 匹配非资源请求。如果(a)至少一个操作动词与请求匹配,并且(b)至少匹配请求,并且(b)至少匹配请求,则 NonResourcePolicyRule 匹配请求。
类型
object
必填
  • verbs
  • nonResourceURLs
属性类型描述

nonResourceURLs

数组(字符串)

nonResourceURLs 是一组用户应有权访问且可能不是空的 url 前缀。例如: - "/healthz"是法律 - "/hea*" is illegal - "/hea" is legal but match nothing -"/hea/ " also match nothing - "/healthz/" match all per-component health checks. "*" 匹配所有非资源 URL。如果它存在,它必须是唯一的条目。必需。

verbs

数组(字符串)

verbs 是一个匹配的操作动词列表,可能不为空。"*"与所有操作都匹配。如果存在,它必须是唯一的条目。必需。

4.1.8. .spec.rules[].resourceRules

描述
resourceRules 是 ResourcePolicyRules 的一个片段,它根据其操作动词和目标资源来识别匹配的请求。至少一个 resourceRulesnonResourceRules 必须是非空的。
类型
array

4.1.9. .spec.rules[].resourceRules[]

描述
ResourcePolicyRule 是一个与某些资源请求匹配的 predicate,测试请求的操作动词和目标资源。ResourcePolicyRule 会匹配一个资源请求(如果且仅匹配一个操作动词)与请求匹配,(b)至少一个 apiGroups 成员与请求匹配,(c)至少一个资源成员与请求匹配,(d1)请求没有指定命名空间(即 Namespace=="")和 clusterScope 为 true 或(d2)请求。
类型
object
必填
  • verbs
  • apiGroups
  • resources
属性类型描述

apiGroups

数组(字符串)

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

clusterScope

布尔值

ClusterScope 指示是否与没有指定命名空间的请求匹配(发生这种情况,因为资源没有命名空间,还是以所有命名空间为目标)。如果省略此字段或 false,则 namespaces 字段必须包含非空列表。

命名空间

数组(字符串)

命名空间是 限制匹配的目标命名空间列表。只有在(a)此列表包含该目标命名空间或(b)此列表包含 "" 时,指定目标命名空间的请求才会匹配。请注意,"与任何指定的命名空间匹配,但与 没有指定 命名空间的请求不匹配(请参阅 clusterScope 字段)。此列表可能为空,但只有 clusterScope 为 true 时。

resources

数组(字符串)

资源是匹配资源(如小写和复数)的列表(如果需要,子资源)。例如,[ "services", "nodes/status" ]。这个列表可能无法为空。"*"与所有资源匹配,如果存在,则必须是唯一的条目。必需。

verbs

数组(字符串)

verbs 是匹配的操作动词列表,可能不是空的。"*" 匹配所有操作动词,如果存在,则必须是唯一的条目。必需。

4.1.10. .spec.rules[].subjects

描述
subjects 是此规则所关注的普通用户、serviceaccount 或组的列表。这个片段中必须至少有一个成员。包含 system:authenticated 和 system:unauthenticated 用户组的片段与每个请求匹配。必需。
类型
array

4.1.11. .spec.rules[].subjects[]

描述
主题与请求的原始卷匹配,如请求身份验证系统所标识。匹配原始器的方式有三种;根据用户、组或服务帐户。
类型
object
必填
  • kind
属性类型描述

group

对象

GroupSubject 包含 group-kind 主题的详细信息。

kind

字符串

kind 表示哪些其他字段是非空的。必填

serviceAccount

对象

ServiceAccountSubject 包含 service-account-kind 主题的详细信息。

user

对象

UserSubject 包含 user-kind 主题的详细信息。

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

描述
GroupSubject 包含 group-kind 主题的详细信息。
类型
object
必填
  • name
属性类型描述

name

字符串

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

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

描述
ServiceAccountSubject 包含 service-account-kind 主题的详细信息。
类型
object
必填
  • namespace
  • name
属性类型描述

name

字符串

name 是匹配的 ServiceAccount 对象的名称,或 "*" 以匹配,无论名称是什么。必需。

namespace

字符串

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

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

描述
UserSubject 包含 user-kind 主题的详细信息。
类型
object
必填
  • name
属性类型描述

name

字符串

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

4.1.15. .status

描述
FlowSchemaStatus 代表 FlowSchema 的当前状态。
类型
object
属性类型描述

conditions

array

conditions 是 FlowSchema 的当前状态列表。

conditions[]

对象

FlowSchemaCondition 描述了 FlowSchema 的条件。

4.1.16. .status.conditions

描述
conditions 是 FlowSchema 的当前状态列表。
类型
array

4.1.17. .status.conditions[]

描述
FlowSchemaCondition 描述了 FlowSchema 的条件。
类型
object
属性类型描述

lastTransitionTime

时间

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

message

字符串

Message 是人类可读的消息,表示有关最后一次转换的详细信息。

reason

字符串

reason 是条件最后一次转换的唯一一词 CamelCase 原因。

status

字符串

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

type

字符串

type 是条件的类型。必需。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.