Spec-Zone.ru › Kubernetes 1.25

УровеньПриоритетаКонфигурация v1beta2

УровеньПриоритетаКонфигурация представляет собой конфигурацию уровня приоритета.

apiVersion: flowcontrol.apiserver.k8s.io/v1beta2

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

УровеньПриоритетаКонфигурация

УровеньПриоритетаКонфигурация представляет собой конфигурацию уровня приоритета.

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

  • kind: УровеньПриоритетаКонфигурация

  • metadata (ObjectMeta)

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

  • spec (PriorityLevelConfigurationSpec)

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

  • status (PriorityLevelConfigurationStatus)

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

PriorityLevelConfigurationSpec

PriorityLevelConfigurationSpec определяет конфигурацию уровня приоритета.

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

    type указывает, ограничен ли этот уровень приоритета по выполнению запросов. Значение "Exempt" означает, что запросы этого уровня приоритета не ограничены (и, следовательно, никогда не находятся в очереди) и не влияют на ресурсы, выделенные другим уровням приоритета. Значение "Limited" означает, что (а) запросы этого уровня приоритета ограничены, и (б) часть ограниченных ресурсов сервера выделяется исключительно этому уровню приоритета. Обязательно.

  • limited (LimitedPriorityLevelConfiguration)

    limited определяет, как обрабатываются запросы для уровня приоритета Limited. Это поле должно быть непустым тогда и только тогда, когда type равно "Limited".

    *LimitedPriorityLevelConfiguration определяет, как обрабатывать запросы, ограниченные лимитами. Он решает две задачи:

    • Как ограничивать запросы для этого уровня приоритета?

    • Что делать с запросами, превышающими лимит?*

    • limited.assuredConcurrencyShares (int32)

      assuredConcurrencyShares (ACS) настраивает ограничение выполнения, которое является лимитом на количество запросов данного уровня приоритета, которые могут выполняться одновременно. ACS должно быть положительным числом. Ограничение одновременного выполнения сервера (SCL) распределяется между уровнями приоритета с управлением одновременностью пропорционально их долям обеспеченных concurrent requests. Это приводит к значению обеспеченной одновременности (ACV) — количеству запросов, которые могут выполняться одновременно — для каждого такого уровня приоритета:

              ACV(l) = ceil( SCL * ACS(l) / ( sum[priority levels k] ACS(k) ) )
      

      более высокие значения ACS означают больше зарезервированных одновременных запросов (за счет каждого другого уровня приоритета). По умолчанию это поле равно 30.

    • limited.limitResponse (LimitResponse)

      limitResponse указывает, что делать с запросами, которые не могут быть выполнены прямо сейчас

      LimitResponse определяет, как обрабатывать запросы, которые не могут быть выполнены прямо сейчас.

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

        type — это "Очередь" или "Отклонить". "Очередь" означает, что запросы, которые не могут быть выполнены при поступлении, удерживаются в очереди до тех пор, пока они не смогут быть выполнены или пока не будет достигнуто ограничение по очереди. "Отклонить" означает, что запросы, которые не могут быть выполнены при поступлении, отклоняются. Обязательно.

      • limited.limitResponse.queuing (QueuingConfiguration)

        queuing содержит параметры конфигурации для очереди. Это поле может быть непустым только в том случае, если type равно "Queue".

        QueuingConfiguration содержит параметры конфигурации для очереди

        • limited.limitResponse.queuing.handSize (int32)

          handSize — небольшое положительное число, которое настраивает смешивание запросов в очереди. При добавлении запроса в очередь для этого уровня приоритета идентификатор потока запроса (пара строк) хэшируется, и значение хэша используется для перемешивания списка очередей и получения набора размером, указанным здесь. Запрос помещается в одну из самых коротких очередей в этом наборе. handSize не должно быть больше, чем queues, и должно быть значительно меньше (чтобы несколько интенсивных потоков не насыщали большинство очередей). См. документацию для пользователя для более подробных рекомендаций по настройке этого поля. По умолчанию это поле равно 8.

        • limited.limitResponse.queuing.queueLengthLimit (int32)

          queueLengthLimit — максимальное количество запросов, которые могут ожидать в данной очереди этого уровня приоритета одновременно; избыточные запросы отклоняются. Это значение должно быть положительным. Если не указано, по умолчанию оно будет равно 50.

        • limited.limitResponse.queuing.queues (int32)

          queues — количество очередей для этого уровня приоритета. Очереди существуют независимо на каждом apiserver. Значение должно быть положительным. Установка его в 1 фактически исключает смешивание по хешу и, следовательно, делает метод различения связанных схем потока неактуальным. По умолчанию это поле равно 64.

PriorityLevelConfigurationStatus

PriorityLevelConfigurationStatus представляет собой текущее состояние "приоритета запроса".

  • conditions ([]PriorityLevelConfigurationCondition)

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

    conditions — текущее состояние "приоритета запроса".

    PriorityLevelConfigurationCondition определяет состояние уровня приоритета.

    • conditions.lastTransitionTime (Time)

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

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

    • conditions.message (строка)

      message — удобочитаемое сообщение, указывающее подробности последнего перехода.

    • conditions.reason (строка)

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

    • conditions.status (строка)

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

    • conditions.type (строка)

      type — тип условия. Обязательно.

СписокУровнейПриоритетаКонфигурация

СписокУровнейПриоритетаКонфигурация — это список объектов PriorityLevelConfiguration.

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

  • kind: СписокУровнейПриоритетаКонфигурация

  • metadata (ListMeta)

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

  • items ([]PriorityLevelConfiguration), обязательно

    items — список приоритетов запросов.

© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-25.docs.kubernetes.io/docs/reference/kubernetes-api/cluster-resources/priority-level-configuration-v1beta2/

Spec-Zone.ru

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