Spec-Zone.ru › Kubernetes

PriorityLevelConfiguration

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

apiVersion: flowcontrol.apiserver.k8s.io/v1

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

PriorityLevelConfiguration

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

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
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
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 задаёт конфигурацию уровня приоритета.

Поле Описание
exempt
ExemptPriorityLevelConfiguration
`exempt` задаёт способ обработки запросов для освобождённого от ограничений уровня приоритета. Это поле ДОЛЖНО быть пустым, если `type` имеет значение `"Limited"`. Это поле МОЖЕТ быть непустым, если `type` имеет значение `"Exempt"`. Если поле пусто и `type` имеет значение `"Exempt"`, применяются значения по умолчанию для `ExemptPriorityLevelConfiguration`.
limited
LimitedPriorityLevelConfiguration
`limited` задаёт способ обработки запросов для уровня приоритета Limited. Это поле должно быть непустым тогда и только тогда, когда `type` имеет значение `"Limited"`.
type *
string
`type` указывает, подлежит ли этот уровень приоритета ограничению выполнения запросов. Значение `"Exempt"` означает, что запросы этого уровня приоритета не ограничиваются (и поэтому никогда не помещаются в очередь) и не уменьшают пропускную способность, доступную другим уровням приоритета. Значение `"Limited"` означает, что (a) запросы этого уровня приоритета _подлежат_ ограничениям и (b) часть ограниченной пропускной способности сервера выделяется исключительно этому уровню приоритета. Обязательное поле.

PriorityLevelConfigurationStatus

PriorityLevelConfigurationStatus представляет текущее состояние «приоритета запросов».

Поле Описание
conditions
PriorityLevelConfigurationCondition array
стратегия исправления: объединение по ключу type
`conditions` — текущее состояние «приоритета запросов».

PriorityLevelConfigurationList

PriorityLevelConfigurationList — это список объектов PriorityLevelConfiguration.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
PriorityLevelConfiguration array
`items` — список приоритетов запросов.
kind
string
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
`metadata` — стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

ExemptPriorityLevelConfiguration

ExemptPriorityLevelConfiguration описывает настраиваемые параметры обработки освобождённых от ограничений запросов. В обязательном объекте конфигурации освобождённого уровня авторизованные пользователи могут изменять значения указанных здесь полей, в отличие от остальных полей spec.

Поле Описание
lendablePercent
integer
`lendablePercent` задаёт долю NominalCL уровня, которую могут заимствовать другие уровни приоритета. Значение этого поля должно находиться в диапазоне от 0 до 100 включительно; значение по умолчанию — 0. Число мест, которые другие уровни могут заимствовать у этого уровня, называется его LendableConcurrencyLimit (LendableCL) и определяется следующим образом: LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
nominalConcurrencyShares
integer
`nominalConcurrencyShares` (NCS) участвует в вычислении NominalConcurrencyLimit (NominalCL) этого уровня. Это число мест для выполнения, номинально зарезервированных для этого уровня приоритета. Это НЕ ограничивает распределение запросов этого уровня приоритета, но влияет на другие уровни приоритета через механизм заимствования. Лимит параллелизма сервера (ServerCL) распределяется между всеми уровнями приоритета пропорционально их значениям NCS: NominalCL(i) = ceil( ServerCL * NCS(i) / sum_ncs ) sum_ncs = sum[priority level k] NCS(k) Чем больше значение, тем выше номинальный лимит параллелизма за счёт всех остальных уровней приоритета. Значение этого поля по умолчанию равно нулю.

LimitResponse

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

Поле Описание
queuing
QueuingConfiguration
`queuing` содержит параметры конфигурации очередей. Это поле может быть непустым только в том случае, если `type` имеет значение `"Queue"`.
type *
string
`type` — это `"Queue"` или `"Reject"`. `"Queue"` означает, что запросы, которые невозможно выполнить при поступлении, помещаются в очередь до тех пор, пока их не удастся выполнить или не будет достигнут лимит очереди. `"Reject"` означает, что запросы, которые невозможно выполнить при поступлении, отклоняются. Обязательное поле.

LimitedPriorityLevelConfiguration

LimitedPriorityLevelConfiguration задаёт способ обработки запросов, на которые распространяются ограничения. Конфигурация охватывает два вопроса:

  • Как ограничивается число запросов для этого уровня приоритета?
  • Что следует делать с запросами, превышающими лимит?
Поле Описание
borrowingLimitPercent
integer
`borrowingLimitPercent`, если задано, устанавливает ограничение на число мест, которые этот уровень приоритета может заимствовать у других уровней приоритета. Это ограничение называется BorrowingConcurrencyLimit (BorrowingCL) данного уровня и ограничивает общее число мест, которые этот уровень может заимствовать одновременно. Значение этого поля задаёт отношение такого лимита к номинальному лимиту параллелизма уровня. Если поле не равно nil, оно должно содержать неотрицательное целое число, а лимит вычисляется следующим образом: BorrowingCL(i) = round( NominalCL(i) * borrowingLimitPercent(i)/100.0 ) Значение этого поля может быть больше 100, что означает, что этот уровень приоритета может заимствовать число мест, превышающее его собственный номинальный лимит параллелизма (NominalCL). Если для этого поля задано `nil`, лимит фактически неограничен.
lendablePercent
integer
`lendablePercent` задаёт долю NominalCL уровня, которую могут заимствовать другие уровни приоритета. Значение этого поля должно находиться в диапазоне от 0 до 100 включительно; значение по умолчанию — 0. Число мест, которые другие уровни могут заимствовать у этого уровня, называется его LendableConcurrencyLimit (LendableCL) и определяется следующим образом: LendableCL(i) = round( NominalCL(i) * lendablePercent(i)/100.0 )
limitResponse
LimitResponse
`limitResponse` указывает, что делать с запросами, которые в данный момент невозможно выполнить
nominalConcurrencyShares
integer
`nominalConcurrencyShares` (NCS) участвует в вычислении NominalConcurrencyLimit (NominalCL) этого уровня. Это число мест для выполнения, доступных на этом уровне приоритета. Эти места используются как для запросов, распределяемых с этого уровня приоритета, так и для запросов, распределяемых с других уровней приоритета, заимствующих места у этого уровня. Лимит параллелизма сервера (ServerCL) распределяется между уровнями приоритета Limited пропорционально их значениям NCS: NominalCL(i) = ceil( ServerCL * NCS(i) / sum_ncs ) sum_ncs = sum[priority level k] NCS(k) Чем больше значение, тем выше номинальный лимит параллелизма за счёт всех остальных уровней приоритета. Если значение не указано, по умолчанию используется 30. Если задать для этого поля ноль, можно создать «изоляцию» для этого уровня приоритета, чтобы удерживать один или несколько запросов

PriorityLevelConfigurationCondition

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

Поле Описание
lastTransitionTime
Time
`lastTransitionTime` — время последнего перехода условия из одного состояния в другое.
message
string
`message` — понятное пользователю сообщение с подробной информацией о последнем переходе.
reason
string
`reason` — уникальная причина последнего перехода условия, состоящая из одного слова в CamelCase.
status
string
`status` — состояние условия. Возможные значения: True, False, Unknown. Обязательное поле.
type
string
`type` — тип условия. Обязательное поле.

QueuingConfiguration

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

Поле Описание
handSize
integer
`handSize` — небольшое положительное число, задающее перемешивание запросов по очередям методом shuffle sharding. При постановке запроса в очередь этого уровня приоритета идентификатор потока запроса (пара строк) хешируется, а полученное значение хеша используется для перемешивания списка очередей и формирования набора указанного здесь размера. Запрос помещается в одну из самых коротких очередей этого набора. Значение `handSize` не должно превышать `queues` и должно быть значительно меньше этого значения (чтобы несколько потоков с высокой нагрузкой не перегружали большую часть очередей). Рекомендации по настройке этого поля см. в пользовательской документации. Значение этого поля по умолчанию равно 8.
queueLengthLimit
integer
`queueLengthLimit` — максимальное число запросов, которым разрешено одновременно ожидать в отдельной очереди этого уровня приоритета; избыточные запросы отклоняются. Значение должно быть положительным. Если значение не указано, по умолчанию используется 50.
queues
integer
`queues` — число очередей для этого уровня приоритета. Очереди существуют независимо на каждом apiserver. Значение должно быть положительным. Значение 1 фактически отключает shuffle sharding, поэтому метод различения, заданный в связанных схемах потоков, не имеет значения. Значение этого поля по умолчанию равно 64.

© 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/priority-level-configuration-v1/

Spec-Zone.ru

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