FlowSchema
apiVersion: flowcontrol.apiserver.k8s.io/v1
import "k8s.io/api/flowcontrol/v1"
FlowSchema
FlowSchema определяет схему группы потоков. Обратите внимание, что поток состоит из набора входящих API-запросов со схожими атрибутами и идентифицируется парой строк: именем FlowSchema и «различителем потока».
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kindstring |
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataObjectMeta |
`metadata` — стандартные метаданные объекта. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
specFlowSchemaSpec |
`spec` — спецификация желаемого поведения FlowSchema. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
statusFlowSchemaStatus |
`status` — текущее состояние FlowSchema. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
FlowSchemaSpec
FlowSchemaSpec описывает спецификацию FlowSchema.
| Поле | Описание |
|---|---|
distinguisherMethodFlowDistinguisherMethod |
`distinguisherMethod` определяет способ вычисления различителя потока для запросов, соответствующих этой схеме. Значение `nil` означает, что различитель отключен и поэтому всегда будет пустой строкой. |
matchingPrecedenceinteger |
`matchingPrecedence` используется для выбора среди FlowSchema, соответствующих заданному запросу. Выбирается FlowSchema с наименьшим числовым значением MatchingPrecedence (которое считается наивысшим логическим приоритетом). Значение MatchingPrecedence должно находиться в диапазоне [1,10000]. Если приоритет не указан, по умолчанию ему будет присвоено значение 1000. |
priorityLevelConfiguration *PriorityLevelConfigurationReference |
`priorityLevelConfiguration` должно ссылаться на PriorityLevelConfiguration в кластере. Если ссылку не удается разрешить, FlowSchema будет проигнорирована и помечена как недействительная в своем состоянии. Обязательное поле. |
rulesPolicyRulesWithSubjects array |
`rules` описывает, какие запросы будут соответствовать этой схеме потока. Запрос соответствует этой FlowSchema тогда и только тогда, когда ему соответствует хотя бы один элемент rules. Если срез пуст, ни один запрос не будет соответствовать FlowSchema. |
FlowSchemaStatus
FlowSchemaStatus представляет текущее состояние FlowSchema.
| Поле | Описание |
|---|---|
conditionsFlowSchemaCondition array стратегия исправления: объединение по ключу type
|
`conditions` — список текущих состояний FlowSchema. |
FlowSchemaList
FlowSchemaList — список объектов FlowSchema.
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
items *FlowSchema array |
`items` — список FlowSchema. |
kindstring |
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataListMeta |
`metadata` — стандартные метаданные списка. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
FlowDistinguisherMethod
FlowDistinguisherMethod задает метод определения различителя потока.
| Поле | Описание |
|---|---|
type *string |
`type` — тип метода определения различителя потока. Поддерживаются типы "ByUser" и "ByNamespace". Обязательное поле. |
FlowSchemaCondition
FlowSchemaCondition описывает условия для FlowSchema.
| Поле | Описание |
|---|---|
lastTransitionTimeTime |
`lastTransitionTime` — время последнего перехода условия из одного состояния в другое. |
messagestring |
`message` — понятное пользователю сообщение с подробными сведениями о последнем переходе. |
reasonstring |
`reason` — уникальная причина последнего перехода условия, состоящая из одного слова в CamelCase. |
statusstring |
`status` — состояние условия. Возможные значения: True, False, Unknown. Обязательное поле. |
typestring |
`type` — тип условия. Обязательное поле. |
GroupSubject
GroupSubject содержит подробные сведения о субъекте типа «группа».
| Поле | Описание |
|---|---|
name *string |
name — группа пользователей, соответствующая условию, или "*", чтобы условию соответствовали все группы пользователей. Некоторые общеизвестные имена групп см. в https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go. Обязательное поле. |
NonResourcePolicyRule
NonResourcePolicyRule — предикат, сопоставляющий запросы к нересурсным URL на основе их глагола и целевого нересурсного URL. Запрос соответствует NonResourcePolicyRule тогда и только тогда, когда (a) запросу соответствует хотя бы один элемент verbs и (b) запросу соответствует хотя бы один элемент nonResourceURLs.
| Поле | Описание |
|---|---|
nonResourceURLs *string array |
`nonResourceURLs` — набор префиксов URL, к которым пользователь должен иметь доступ; он не может быть пустым. Например: - "/healthz" допустим - "/hea*" недопустим - "/hea" допустим, но ничего не сопоставляет - "/hea/*" также ничего не сопоставляет - "/healthz/*" сопоставляет все проверки работоспособности для отдельных компонентов. "*" сопоставляет все нересурсные URL. Если он указан, это должна быть единственная запись. Обязательное поле. |
verbs *string array |
`verbs` — список сопоставляемых глаголов; он не может быть пустым. "*" сопоставляет все глаголы. Если он указан, это должна быть единственная запись. Обязательное поле. |
PolicyRulesWithSubjects
PolicyRulesWithSubjects задает проверку, применяемую к запросу к apiserver. При проверке учитываются субъект, отправивший запрос, запрошенный глагол и целевой ресурс. Запрос соответствует этой PolicyRulesWithSubjects тогда и только тогда, когда (a) запросу соответствует хотя бы один элемент subjects и (b) запросу соответствует хотя бы один элемент resourceRules или nonResourceRules.
| Поле | Описание |
|---|---|
nonResourceRulesNonResourcePolicyRule array |
`nonResourceRules` — список правил NonResourcePolicyRule, определяющих соответствующие запросы на основе их глагола и целевого нересурсного URL. |
resourceRulesResourcePolicyRule array |
`resourceRules` — срез правил ResourcePolicyRule, определяющих соответствующие запросы на основе их глагола и целевого ресурса. Как минимум один из списков `resourceRules` и `nonResourceRules` должен быть непустым. |
subjects *Subject array |
subjects — список обычных пользователей, serviceaccount или групп, к которым применяется это правило. В этом срезе должен быть хотя бы один элемент. Срез, содержащий одновременно группы пользователей system:authenticated и system:unauthenticated, соответствует каждому запросу. Обязательное поле. |
PriorityLevelConfigurationReference
PriorityLevelConfigurationReference содержит сведения, указывающие на используемый «приоритет запросов».
| Поле | Описание |
|---|---|
name *string |
`name` — имя конфигурации уровня приоритета, на которую указывает ссылка. Обязательное поле. |
ResourcePolicyRule
ResourcePolicyRule — предикат, сопоставляющий запросы к некоторым ресурсам на основе глагола запроса и целевого ресурса. Запрос к ресурсу соответствует ResourcePolicyRule тогда и только тогда, когда: (a) запросу соответствует хотя бы один элемент verbs, (b) запросу соответствует хотя бы один элемент apiGroups, (c) запросу соответствует хотя бы один элемент resources и (d) выполняется одно из условий: (d1) запрос не указывает пространство имен (то есть Namespace==""), а clusterScope имеет значение true, либо (d2) запрос указывает пространство имен, и как минимум один элемент namespaces соответствует пространству имен запроса.
| Поле | Описание |
|---|---|
apiGroups *string array |
`apiGroups` — список сопоставляемых групп API; он не может быть пустым. "*" сопоставляет все группы API и, если указан, должен быть единственной записью. Обязательное поле. |
clusterScopeboolean |
`clusterScope` указывает, следует ли сопоставлять запросы, в которых не задано пространство имен (это происходит, если ресурс не привязан к пространству имен или запрос направлен ко всем пространствам имен). Если это поле не задано или имеет значение false, поле `namespaces` должно содержать непустой список. |
namespacesstring array |
`namespaces` — список целевых пространств имен, ограничивающий сопоставление. Запрос с указанным целевым пространством имен соответствует условию, только если (a) этот список содержит целевое пространство имен или (b) этот список содержит "*". Обратите внимание, что "*" соответствует любому указанному пространству имен, но не запросу, в котором пространство имен _не указано_ (см. поле `clusterScope`). Этот список может быть пустым, но только если `clusterScope` имеет значение true. |
resources *string array |
`resources` — список сопоставляемых ресурсов (то есть в нижнем регистре и во множественном числе), при необходимости с подресурсом. Например: [ "services", "nodes/status" ]. Этот список не может быть пустым. "*" сопоставляет все ресурсы и, если указан, должен быть единственной записью. Обязательное поле. |
verbs *string array |
`verbs` — список сопоставляемых глаголов; он не может быть пустым. "*" сопоставляет все глаголы и, если указан, должен быть единственной записью. Обязательное поле. |
ServiceAccountSubject
ServiceAccountSubject содержит подробные сведения о субъекте типа «учетная запись службы».
| Поле | Описание |
|---|---|
name *string |
`name` — имя соответствующих объектов ServiceAccount или "*", чтобы соответствие не зависело от имени. Обязательное поле. |
namespace *string |
`namespace` — пространство имен соответствующих объектов ServiceAccount. Обязательное поле. |
Subject
Subject сопоставляет инициатора запроса, определенного системой аутентификации запросов. Инициатора можно сопоставить одним из трех способов: по пользователю, группе или учетной записи службы.
| Поле | Описание |
|---|---|
groupGroupSubject |
`group` выполняет сопоставление по имени группы пользователей. |
kind *string |
`kind` указывает, какое из остальных полей не является пустым. Обязательное поле. |
serviceAccountServiceAccountSubject |
`serviceAccount` сопоставляет учетные записи ServiceAccount. |
userUserSubject |
`user` выполняет сопоставление по имени пользователя. |
UserSubject
UserSubject содержит подробные сведения о субъекте типа «пользователь».
| Поле | Описание |
|---|---|
name *string |
`name` — имя пользователя, соответствующее условию, или "*", чтобы условию соответствовали все имена пользователей. Обязательное поле. |
© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/flowcontrol/flow-schema-v1/