УровеньПриоритетаКонфигурация 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) делится между уровнями приоритета с управлением одновременностью пропорционально их долям гарантированной одновременности. Это приводит к значению гарантированной одновременности (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 фактически исключает shufflesharding и, следовательно, делает метод различения связанных схем потоков неактуальным. По умолчанию это значение равно 64.
-
-
PriorityLevelConfigurationStatus
PriorityLevelConfigurationStatus представляет собой текущее состояние «уровня приоритета запроса».
-
conditions ([]PriorityLevelConfigurationCondition)
Map: уникальные значения ключа 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— тип условия. Обязательно.
-
PriorityLevelConfigurationList
PriorityLevelConfigurationList — это список объектов PriorityLevelConfiguration.
-
apiVersion: flowcontrol.apiserver.k8s.io/v1beta2
-
kind: PriorityLevelConfigurationList
-
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-24.docs.kubernetes.io/docs/reference/kubernetes-api/cluster-resources/priority-level-configuration-v1beta2/