Spec-Zone.ru › Kubernetes 1.28

FlowSchema v1beta3

FlowSchema определяет схему группы потоков.

apiVersion: flowcontrol.apiserver.k8s.io/v1beta3

import "k8s.io/api/flowcontrol/v1beta3"

FlowSchema

FlowSchema определяет схему группы потоков. Обратите внимание, что поток состоит из набора входящих API-запросов с похожими атрибутами и идентифицируется парой строк: именем FlowSchema и «различителем потока».

  • apiVersion: flowcontrol.apiserver.k8s.io/v1beta3

  • kind: FlowSchema

  • metadata (ObjectMeta)

    metadata — стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • spec (FlowSchemaSpec)

    spec — описание желаемого поведения FlowSchema. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

  • status (FlowSchemaStatus)

    status — текущий статус FlowSchema. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

FlowSchemaSpec

FlowSchemaSpec описывает, как выглядит спецификация FlowSchema.

  • priorityLevelConfiguration (PriorityLevelConfigurationReference), обязательно

    priorityLevelConfiguration должно ссылаться на PriorityLevelConfiguration в кластере. Если ссылка не разрешима, FlowSchema будет проигнорирован и помечен как недействительный в своём статусе. Обязательно.

    PriorityLevelConfigurationReference содержит информацию, которая указывает на используемый «приоритет запроса».

    • priorityLevelConfiguration.name (строка), обязательно

      name — имя конфигурации уровня приоритета, на которую происходит ссылка. Обязательно.

  • distinguisherMethod (FlowDistinguisherMethod)

    distinguisherMethod определяет, как вычисляется различитель потока для запросов, которые соответствуют этой схеме. nil указывает, что различитель отключён и, следовательно, всегда будет пустой строкой.

    FlowDistinguisherMethod задает метод определения различителя потока.

    • distinguisherMethod.type (строка), обязательно

      type — тип метода различения потока. Поддерживаемые типы: «ByUser» и «ByNamespace». Обязательно.

  • matchingPrecedence (int32)

    matchingPrecedence используется для выбора среди FlowSchema, которые соответствуют данному запросу. Выбранный FlowSchema — среди тех, у которых значение MatchingPrecedence численно ниже (что мы принимаем за логически выше). Каждое значение MatchingPrecedence должно лежать в диапазоне [1,10000]. Обратите внимание, что если приоритет не указан, он будет установлен по умолчанию в 1000.

  • rules ([]PolicyRulesWithSubjects)

    Атомарно: будет заменено при слиянии

    rules описывает, какие запросы будут соответствовать данной схеме потока. FlowSchema соответствует запросу, если и только если хотя бы один элемент из правил соответствует запросу. Если это пустой срез, то запросы FlowSchema не будут соответствовать.

    PolicyRulesWithSubjects предписывает проверку, которая применяется к запросу на apiserver. Проверка учитывает субъект, делающий запрос, запрашиваемый глагол и ресурс, над которым выполняется действие. Этот PolicyRulesWithSubjects соответствует запросу, если и только если (а) как минимум один элемент из subjects соответствует запросу и (b) как минимум один элемент из resourceRules или nonResourceRules соответствует запросу.

    • rules.subjects ([]Subject), обязательно

      Атомарно: будет заменено при слиянии

      subjects — список обычных пользователей, сервисных учетных записей или групп, которые учитывает данное правило. В этом срезе должно быть как минимум один элемент. Срез, который включает обе группы system:authenticated и system:unauthenticated, соответствует каждому запросу. Обязательно.

      Subject соответствует источнику запроса, как идентифицируется системой аутентификации запроса. Существует три способа сопоставления источника; по пользователю, группе или учетной записи сервиса.

      • rules.subjects.kind (строка), обязательно

        kind указывает, какой из других полей не пуст. Обязательно

      • rules.subjects.group (GroupSubject)

        group соответствует на основе имени группы пользователей.

        GroupSubject содержит подробную информацию для субъекта типа группы.

        • rules.subjects.group.name (строка), обязательно

          name — группа пользователей, с которой совпадает, или «*» для соответствия всем группам пользователей. См. https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go для некоторых известных имён групп. Обязательно.

      • rules.subjects.serviceAccount (ServiceAccountSubject)

        serviceAccount соответствует ServiceAccount.

        ServiceAccountSubject содержит подробную информацию для субъекта типа учетной записи сервиса.

        • rules.subjects.serviceAccount.name (строка), обязательно

          name — имя соответствующих объектов ServiceAccount, или «*» для соответствия независимо от имени. Обязательно.

        • rules.subjects.serviceAccount.namespace (строка), обязательно

          namespace — пространство имён соответствующих объектов ServiceAccount. Обязательно.

      • rules.subjects.user (UserSubject)

        user соответствует на основе имени пользователя.

        UserSubject содержит подробную информацию для субъекта типа пользователя.

        • rules.subjects.user.name (строка), обязательно

          name — имя пользователя, с которым совпадает, или «*» для соответствия всем именам пользователей. Обязательно.

    • rules.nonResourceRules ([]NonResourcePolicyRule)

      Атомарно: будет заменено при слиянии

      nonResourceRules — список NonResourcePolicyRules, которые идентифицируют соответствующие запросы по глаголу и целевому URL-адресу вне ресурсов.

      NonResourcePolicyRule — предикат, который соответствует запросам вне ресурсов по глаголу и целевому URL-адресу вне ресурсов. NonResourcePolicyRule соответствует запросу, если и только если (а) как минимум один элемент из verbs соответствует запросу и (b) как минимум один элемент из nonResourceURLs соответствует запросу.

      • rules.nonResourceRules.nonResourceURLs ([]string), обязательно

        Множество: уникальные значения будут сохранены при слиянии

        nonResourceURLs — множество префиксов URL-адресов, к которым у пользователя должен быть доступ, и оно не может быть пустым. Например:

        • "/healthz" — допустимо
        • "/hea*" — недопустимо
        • "/hea" — допустимо, но ничего не соответствует
        • "/hea/*" — также ничего не соответствует
        • "/healthz/*" — соответствует всем проверкам состояния по компонентам. «*» соответствует всем URL-адресам вне ресурсов. Если он присутствует, он должен быть единственным элементом. Обязательно.
      • rules.nonResourceRules.verbs ([]string), обязательно

        Множество: уникальные значения будут сохранены при слиянии

        verbs — список соответствующих глаголов, и он не может быть пустым. «*» соответствует всем глаголам. Если он присутствует, он должен быть единственным элементом. Обязательно.

    • rules.resourceRules ([]ResourcePolicyRule)

      Атомарно: будет заменено при слиянии

      resourceRules — срез ResourcePolicyRules, которые идентифицируют соответствующие запросы по глаголу и целевому ресурсу. По крайней мере одно из resourceRules и nonResourceRules должно быть непустым.

      ResourcePolicyRule — предикат, который соответствует запросам к ресурсам, проверяя глагол запроса и целевой ресурс. ResourcePolicyRule соответствует запросу к ресурсу, если и только если: (а) как минимум один элемент из verbs соответствует запросу, (b) как минимум один элемент из apiGroups соответствует запросу, (c) как минимум один элемент из resources соответствует запросу, и (d) либо (d1) запрос не указывает пространство имён (т. е. Namespace=="") и clusterScope истинно, либо (d2) запрос указывает пространство имён и как минимум один элемент из namespaces соответствует пространству имён запроса.

      • rules.resourceRules.apiGroups ([]string), обязательно

        Множество: уникальные значения будут сохранены при слиянии

        apiGroups — список соответствующих API-групп, и он не может быть пустым. «*» соответствует всем API-группам и, если присутствует, должен быть единственным элементом. Обязательно.

      • rules.resourceRules.resources ([]string), обязательно

        Множество: уникальные значения будут сохранены при слиянии

        resources — список соответствующих ресурсов (т. е. строчные и множественные) с подресурсом, если необходимо. Например, [ "services", "nodes/status" ]. Этот список не может быть пустым. «*» соответствует всем ресурсам и, если присутствует, должен быть единственным элементом. Обязательно.

      • rules.resourceRules.verbs ([]string), обязательно

        Множество: уникальные значения будут сохранены при слиянии

        verbs — список соответствующих глаголов, и он не может быть пустым. «*» соответствует всем глаголам и, если присутствует, должен быть единственным элементом. Обязательно.

      • rules.resourceRules.clusterScope (boolean)

        clusterScope указывает, следует ли соответствовать запросам, которые не указывают пространство имён (что происходит либо потому, что ресурс не имеет пространства имён, либо запрос направлен на все пространства имён). Если это поле опущено или ложно, то поле namespaces должно содержать непустой список.

      • rules.resourceRules.namespaces ([]string)

        Множество: уникальные значения будут сохранены при слиянии

        namespaces — список целевых пространств имён, который ограничивает соответствия. Запрос, который указывает целевое пространство имён, соответствует только в том случае, если этот список содержит это целевое пространство имён или (б) этот список содержит «*». Обратите внимание, что «*» соответствует любому указанному пространству имён, но не соответствует запросу, который не указывает пространство имён (см. поле clusterScope для этого). Этот список может быть пустым, но только если clusterScope истинно.

FlowSchemaStatus

FlowSchemaStatus представляет текущее состояние FlowSchema.

  • Условия ([]FlowSchemaCondition)

    Стратегия обновления: слияние по ключу type

    Карта: уникальные значения по ключу type будут сохранены во время слияния

    conditions — список текущих состояний FlowSchema.

    FlowSchemaCondition описывает условия для FlowSchema.

    • conditions.lastTransitionTime (Time)

      lastTransitionTime — последний момент времени, когда условие перешло из одного состояния в другое.

      Time — оболочка вокруг time.Time, которая поддерживает правильную сериализацию в YAML и JSON. Оболочки предоставляются для многих методов фабрики, которые предлагает пакет time.

    • conditions.message (string)

      message — удобочитаемое сообщение, содержащее подробности о последнем переходе.

    • conditions.reason (string)

      reason — уникальное, однословное, в формате CamelCase объяснение причины последнего перехода условия.

    • conditions.status (string)

      status — состояние условия. Может быть True, False, Unknown. Требуется.

    • conditions.type (string)

      type — тип условия. Требуется.

Список FlowSchema

FlowSchemaList — это список объектов FlowSchema.

  • apiVersion: flowcontrol.apiserver.k8s.io/v1beta3

  • kind: Список FlowSchema

  • metadata (ListMeta)

    metadata — стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • items ([]FlowSchema), required

    items — список FlowSchema.

© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-28.docs.kubernetes.io/docs/reference/kubernetes-api/cluster-resources/flow-schema-v1beta3/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API