FlowSchema

FlowSchema визначає схему групи потоків.

apiVersion: flowcontrol.apiserver.k8s.io/v1

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

FlowSchema

FlowSchema визначає схему групи потоків. Зверніть увагу, що потік складається з набору вхідних API-запитів з подібними атрибутами та ідентифікується парою рядків: імʼям FlowSchema та "розрізнювачем потоку".


FlowSchemaSpec

FlowSchemaSpec описує вигляд специфікації FlowSchema.


  • distinguisherMethod (FlowDistinguisherMethod)

    distinguisherMethod визначає, як обчислюється розрізнювач потоку для запитів, які відповідають цій схемі. nil вказує на те, що розрізнювач вимкнений і завжди буде пустий рядок.

    FlowDistinguisherMethod вказує на метод розрізнювача потоку.

    • distinguisherMethod.type (string), обовʼязково

      type - це тип методу розрізнювача потоку. Підтримувані типи: "ByUser" та "ByNamespace". Обовʼязково.

  • matchingPrecedence (int32)

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

  • priorityLevelConfiguration (PriorityLevelConfigurationReference), обовʼязково

    priorityLevelConfiguration повинна посилатися на PriorityLevelConfiguration в кластері. Якщо посилання не вдається вирішити, FlowSchema буде ігноруватися і позначатися як недійсна в її статусі. Обовʼязково.

    PriorityLevelConfigurationReference містить інформацію, яка посилається на використання "request-priority".

    • priorityLevelConfiguration.name (string), обовʼязково

      name — це імʼя конфігурації рівня пріоритетів, на яку є посилання. Обовʼязково.

  • rules ([]PolicyRulesWithSubjects)

    Atomic: буде замінено під час злиття

    rules описують, які запити будуть відповідати цій схемі потоку. Ця FlowSchema відповідає запиту, якщо принаймні один член rules відповідає запиту. Якщо це порожній масив, то запити, які відповідають FlowSchema, не буде.

    PolicyRulesWithSubjects визначає тест, який застосовується до запиту до apiserver. Тест враховує субʼєкт, який робить запит, дієслово, яке запитується, і ресурс, яким має бути дія. Цей PolicyRulesWithSubjects відповідає запиту, якщо і тільки якщо обидва (а) принаймні один член subjects відповідає запиту і (б) принаймні один член resourceRules або nonResourceRules відповідає запиту.

    • rules.subjects ([]Subject), обовʼязково

      Atomic: буде замінено під час злиття

      subjects — це список звичайних користувачів, службових облікових записів або груп, яких це правило стосується. У цьому зрізі повинен бути принаймні один член. Зріз, який включає як системні групи "system:authenticated" і "system:unauthenticated", відповідає кожному запиту. Обовʼязково.

      Тема відповідає ініціатору запиту, визначеному системою автентифікації запиту. Існує три способи зіставлення автора; за обліковим записом користувача, групи або службового облікового запиту.

      • rules.subjects.kind (string), обовʼязково

        kind показує, яке з полів не пусте. Обовʼязково.

      • rules.subjects.group (GroupSubject)

        group відповідає на підставі назви групи користувачів.

        GroupSubject містить детальну інформацію для субʼєкта типу групи.

      • rules.subjects.serviceAccount (ServiceAccountSubject)

        serviceAccount відповідає службовим обліковим записам.

        ServiceAccountSubject містить детальну інформацію для субʼєкта типу службового облікового запису.

        • rules.subjects.serviceAccount.name (string), обовʼязково

          name — це імʼя облікових записів ServiceAccount, або "*" для відповідності незалежно від імені. Обовʼязково.

        • rules.subjects.serviceAccount.namespace (string), обовʼязково

          namespace — це простір імен відповідних обʼєктів ServiceAccount. Обовʼязково.

      • rules.subjects.user (UserSubject)

        user збіг на основі імені користувача.

        UserSubject містить детальну інформацію для субʼєкта типу користувача.

        • rules.subjects.user.name (string), обовʼязково

          name — це імʼя користувача, яке має збіг, або "*" для відповідності всім іменам користувачів. Обовʼязково.

    • rules.nonResourceRules ([]NonResourcePolicyRule)

      Atomic: буде замінено під час злиття

      nonResourceRules — це список NonResourcePolicyRules, які ідентифікують відповідні запити відповідно до їх дієслова і цільового URL без ресурсів.

      NonResourcePolicyRule є предикатом, який відповідає запитам без ресурсів відповідно до їх дієслова і цільового URL без ресурсів. NonResourcePolicyRule відповідає запиту, якщо і тільки якщо обидва (а) принаймні один член verbs відповідає запиту і (б) принаймні один член nonResourceURLs відповідає запиту.

      • rules.nonResourceRules.nonResourceURLs ([]string), обовʼязково

        Set: унікальні значення будуть збережені під час злиття

        nonResourceURLs — це набір префіксів URL, до яких користувач має мати доступ і не може бути порожнім. Наприклад:

        • "/healthz" є допустимим
        • "/hea*" є недійсним
        • "/hea" є допустимим, але не відповідає нічому
        • "/hea/*" також не відповідає нічому
        • "/healthz/*" відповідає всім перевіркам стану компонентів. "*" відповідає всім URL без ресурсів. Якщо він присутній, він повинен бути єдиним елементом. Обовʼязково.
      • rules.nonResourceRules.verbs ([]string), обовʼязково

        Set: унікальні значення будуть збережені під час злиття

        verbs — це список відповідних дієслів і не може бути порожнім. "*" відповідає всім дієсловам. Якщо він присутній, він повинен бути єдиним елементом. Обовʼязково.

    • rules.resourceRules ([]ResourcePolicyRule)

      Atomic: буде замінено під час злиття

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

      ResourcePolicyRule є предикатом, який відповідає деяким запитам ресурсів, перевіряючи дієслово запиту і цільовий ресурс. ResourcePolicyRule відповідає запиту ресурсу, якщо і тільки якщо: (а) принаймні один член verbs відповідає запиту, (б) принаймні один член apiGroups відповідає запиту, (в) принаймні один член resources відповідає запиту, і (г) або (d1) запит не вказує простір імен (тобто Namespace=="") і clusterScope є true або (d2) запит вказує простір імен, і принаймні один член namespaces відповідає простору імен запиту.

      • rules.resourceRules.apiGroups ([]string), обовʼязково

        Set: унікальні значення будуть збережені під час злиття

        apiGroups — це список відповідних API-груп і не може бути порожнім. "*" відповідає всім API-групам і, якщо він присутній, він повинен бути єдиним елементом. Обовʼязково.

      • rules.resourceRules.resources ([]string), обовʼязково

        Set: унікальні значення будуть збережені під час злиття

        resources — це список відповідних ресурсів (тобто в нижньому регістрі та множині) і, за бажанням, субресурс. Наприклад, ["services", "nodes/status"]. Цей список не може бути порожнім. "*" відповідає всім ресурсам і, якщо він присутній, він повинен бути єдиним елементом. Обовʼязково.

      • rules.resourceRules.verbs ([]string), обовʼязково

        Set: унікальні значення будуть збережені під час злиття

        verbs — це список відповідних дієслів і не може бути порожнім. "*" відповідає всім дієсловам і, якщо він присутній, він повинен бути єдиним елементом. Обовʼязково.

      • rules.resourceRules.clusterScope (boolean)

        clusterScope показує, чи потрібно відповідати запитам, які не вказують простір імен (це стається або тому, що ресурс не має простору імен, або запит цілісно охоплює всі простори імен). Якщо це поле відсутнє або false, то поле namespaces повинне містити не порожній список.

      • rules.resourceRules.namespaces ([]string)

        Set: унікальні значення будуть збережені під час злиття

        namespaces — це список цільових просторів імен, які обмежують збіги. Запит, який вказує на простір імен, має збіг тільки у випадку, якщо або (a) цей список містить цільовий простір імен або (b) цей список містить "*". Зверніть увагу, що "*" відповідає будь-якому вказаному простору імен, але не відповідає запиту, який не вказує простір імен (див. поле clusterScope для цього). Цей список може бути порожнім, але лише в тому випадку, якщо clusterScope є true.

FlowSchemaStatus

FlowSchemaStatus відображає поточний стан FlowSchema.


  • conditions ([]FlowSchemaCondition)

    Patch стратегія: злиття за ключем type

    Map: унікальні значення за ключем 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 — тип стану. Обовʼязково.

FlowSchemaList

FlowSchemaList - це список обʼєктів FlowSchema.


Операції


get отримату вказану FlowSchema

HTTP запит

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

Параметри

  • name (в шляху): string, обовʼязково

    імʼя FlowSchema

  • pretty (в запиті): string

    pretty

Відповідь

200 (FlowSchema): OK

401: Unauthorized

get отримати статус вказаної FlowSchema

HTTP запит

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

Параметри

  • name (в шляху): string, обовʼязково

    імʼя FlowSchema

  • pretty (в запиті): string

    pretty

Відповідь

200 (FlowSchema): OK

401: Unauthorized

list перелвк або перегляд обʼєктів типу FlowSchema

HTTP запит

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

Параметри

Відповідь

200 (FlowSchemaList): OK

401: Unauthorized

create створення FlowSchema

HTTP запит

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

Параметри

Відповідь

200 (FlowSchema): OK

201 (FlowSchema): Created

202 (FlowSchema): Accepted

401: Unauthorized

update заміна вказаної FlowSchema

HTTP запит

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

Параметри

  • name (в шляху): string, обовʼязково

    імʼя FlowSchema

  • body: FlowSchema, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • pretty (в запиті): string

    pretty

Відповідь

200 (FlowSchema): OK

201 (FlowSchema): Created

401: Unauthorized

updateзаміна статусу вказаної FlowSchema

HTTP запит

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

Параметри

  • name (в шляху): string, обовʼязково

    імʼя FlowSchema

  • body: FlowSchema, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • pretty (в запиті): string

    pretty

Відповідь

200 (FlowSchema): OK

201 (FlowSchema): Created

401: Unauthorized

patch часткове оновлення вказаної FlowSchema

HTTP запит

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

Параметри

  • name (в шляху): string, обовʼязково

    імʼя FlowSchema

  • body: Patch, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • force (в запиті): boolean

    force

  • pretty (в запиті): string

    pretty

Відповідь

200 (FlowSchema): OK

201 (FlowSchema): Created

401: Unauthorized

patch часткове оновлення статусу вказаної FlowSchema

HTTP запит

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

Параметри

  • name (в шляху): string, обовʼязково

    імʼя FlowSchema

  • body: Patch, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • force (в запиті): boolean

    force

  • pretty (в запиті): string

    pretty

Відповідь

200 (FlowSchema): OK

201 (FlowSchema): Created

401: Unauthorized

delete видалення FlowSchema

HTTP запит

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

Параметри

Відповідь

200 (Status): OK

202 (Status): Accepted

401: Unauthorized

deletecollection видалення колекції FlowSchema

HTTP запит

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

Параметри

Відповідь

200 (Status): OK

401: Unauthorized

Змінено September 06, 2024 at 4:29 PM PST: upstream sync (b8cab2cff8)