УровеньПриоритетаКонфигурация 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/