Spec-Zone.ru › Kubernetes 1.24

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

Spec-Zone.ru

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