Spec-Zone.ru › Kubernetes 1.25

HorizontalPodAutoscaler

HorizontalPodAutoscaler — это конфигурация для горизонтального автомасштабирования Pods, которая автоматически управляет количеством реплик любого ресурса, реализующего подресурс scale, на основе заданных метрик.

apiVersion: autoscaling/v2

import "k8s.io/api/autoscaling/v2"

HorizontalPodAutoscaler

HorizontalPodAutoscaler — это конфигурация для горизонтального автомасштабирования под, которая автоматически управляет количеством реплик любого ресурса, реализующего подресурс масштабирования, на основе заданных метрик.

  • apiVersion: autoscaling/v2

  • kind: HorizontalPodAutoscaler

  • metadata (ObjectMeta)

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

  • spec (HorizontalPodAutoscalerSpec)

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

  • status (HorizontalPodAutoscalerStatus)

    status — текущая информация об автомасштабировании.

HorizontalPodAutoscalerSpec

HorizontalPodAutoscalerSpec описывает желаемое поведение горизонтального автомасштабирования.

  • maxReplicas (int32), обязательное поле

    maxReplicas — верхний предел количества реплик, до которого может масштабироваться автомасштабирование. Он не может быть меньше minReplicas.

  • scaleTargetRef (CrossVersionObjectReference), обязательное поле

    scaleTargetRef указывает на целевой ресурс для масштабирования и используется для подсчета метрик для Pods, а также для фактического изменения количества реплик.

    CrossVersionObjectReference содержит достаточную информацию для идентификации целевого ресурса.

    • scaleTargetRef.kind (string), обязательное поле

      Тип целевого объекта; Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    • scaleTargetRef.name (string), обязательное поле

      Имя целевого объекта; Дополнительная информация: http://kubernetes.io/docs/user-guide/identifiers#names

    • scaleTargetRef.apiVersion (string)

      API-версия целевого объекта

  • minReplicas (int32)

    minReplicas — нижний предел количества реплик, до которого автомасштабирование может масштабироваться вниз. По умолчанию равно 1 Pod. minReplicas может быть равно 0, если включена альфа-функциональность HPAScaleToZero и настроена хотя бы одна метрика Object или External. Масштабирование активно, пока доступно хотя бы одно значение метрики.

  • behavior (HorizontalPodAutoscalerBehavior)

    behavior настраивает поведение масштабирования целевого объекта как вверх, так и вниз (соответствующие поля scaleUp и scaleDown). Если не задано, используются значения по умолчанию для HPAScalingRules для масштабирования вверх и вниз.

    HorizontalPodAutoscalerBehavior настраивает поведение масштабирования целевого объекта как вверх, так и вниз (соответствующие поля scaleUp и scaleDown).

    • behavior.scaleDown (HPAScalingRules)

      scaleDown — политика масштабирования вниз. Если не задано, по умолчанию разрешено масштабирование вниз до minReplicas Pods со стабилизационным периодом в 300 секунд (т.е., используется наилучшее рекомендуемое значение за последние 300 секунд).

      HPAScalingRules настраивает поведение масштабирования в одном направлении. Эти правила применяются после вычисления DesiredReplicas из метрик для HPA. Они могут ограничивать скорость масштабирования, задавая политики масштабирования. Они могут предотвращать «дрожание», задавая стабилизационный период, чтобы количество реплик не устанавливалось мгновенно, вместо этого выбирается наиболее безопасное значение из стабилизационного периода.

      • behavior.scaleDown.policies ([]HPAScalingPolicy)

        Атомарно: будет заменено во время слияния

        policies — список потенциальных политик масштабирования, которые могут быть использованы во время масштабирования. Должна быть указана хотя бы одна политика, в противном случае HPAScalingRules будут считаться некорректными.

        HPAScalingPolicy — отдельная политика, которая должна выполняться в течение заданного промежутка времени.

        • behavior.scaleDown.policies.type (string), обязательное поле

          Тип используется для задания политики масштабирования.

        • behavior.scaleDown.policies.value (int32), обязательное поле

          Value содержит величину изменения, разрешенную политикой. Она должна быть больше нуля.

        • behavior.scaleDown.policies.periodSeconds (int32), обязательное поле

          PeriodSeconds задает интервал времени, в течение которого политика должна выполняться. PeriodSeconds должно быть больше нуля и меньше или равно 1800 (30 мин).

      • behavior.scaleDown.selectPolicy (string)

        selectPolicy используется для указания, какая политика должна быть применена. Если не задано, используется значение по умолчанию Max.

      • behavior.scaleDown.stabilizationWindowSeconds (int32)

        StabilizationWindowSeconds — количество секунд, в течение которых предыдущие рекомендации должны учитываться при масштабировании вверх или вниз. StabilizationWindowSeconds должно быть больше или равно нулю и меньше или равно 3600 (один час). Если не задано, используются значения по умолчанию: — Для масштабирования вверх: 0 (т.е. стабилизация не выполняется). — Для масштабирования вниз: 300 (т.е. стабилизационный период составляет 300 секунд).

    • behavior.scaleUp (HPAScalingRules)

      scaleUp — политика масштабирования вверх. Если не задано, значение по умолчанию — большее из:

      • не более 4 Pods за 60 секунд
      • удвоение количества Pods за 60 секунд Стабилизация не используется.

      HPAScalingRules настраивает поведение масштабирования в одном направлении. Эти правила применяются после вычисления DesiredReplicas из метрик для HPA. Они могут ограничивать скорость масштабирования, задавая политики масштабирования. Они могут предотвращать «дрожание», задавая стабилизационный период, чтобы количество реплик не устанавливалось мгновенно, вместо этого выбирается наиболее безопасное значение из стабилизационного периода.

      • behavior.scaleUp.policies ([]HPAScalingPolicy)

        Атомарно: будет заменено во время слияния

        policies — список потенциальных политик масштабирования, которые могут быть использованы во время масштабирования. Должна быть указана хотя бы одна политика, в противном случае HPAScalingRules будут считаться некорректными.

        HPAScalingPolicy — отдельная политика, которая должна выполняться в течение заданного промежутка времени.

        • behavior.scaleUp.policies.type (string), обязательное поле

          Тип используется для задания политики масштабирования.

        • behavior.scaleUp.policies.value (int32), обязательное поле

          Value содержит величину изменения, разрешенную политикой. Она должна быть больше нуля.

        • behavior.scaleUp.policies.periodSeconds (int32), обязательное поле

          PeriodSeconds задает интервал времени, в течение которого политика должна выполняться. PeriodSeconds должно быть больше нуля и меньше или равно 1800 (30 мин).

      • behavior.scaleUp.selectPolicy (string)

        selectPolicy используется для указания, какая политика должна быть применена. Если не задано, используется значение по умолчанию Max.

      • behavior.scaleUp.stabilizationWindowSeconds (int32)

        StabilizationWindowSeconds — количество секунд, в течение которых предыдущие рекомендации должны учитываться при масштабировании вверх или вниз. StabilizationWindowSeconds должно быть больше или равно нулю и меньше или равно 3600 (один час). Если не задано, используются значения по умолчанию: — Для масштабирования вверх: 0 (т.е. стабилизация не выполняется). — Для масштабирования вниз: 300 (т.е. стабилизационный период составляет 300 секунд).

  • метрики ([]MetricSpec)

    Атомарно: будет заменено во время слияния

    метрики содержат спецификации, которые необходимо использовать для расчета желаемого количества реплик (будет использовано максимальное количество реплик по всем метрикам). Желаемое количество реплик рассчитывается путем умножения отношения между целевым значением и текущим значением на текущее количество поддомов. Следовательно, используемые метрики должны уменьшаться по мере увеличения количества поддомов и наоборот. См. индивидуальные типы источников метрик для получения дополнительной информации о том, как каждый тип метрики должен реагировать. Если не задано, по умолчанию будет установлена метрика, равная 80% средней загрузки ЦП.

    MetricSpec определяет, как масштабироваться на основе одной метрики (только type и одно другое соответствующее поле должны быть установлены одновременно).

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

      тип — это тип источника метрики. Он должен быть одним из «ContainerResource», «External», «Object», «Pods» или «Resource», каждый из которых отображается в соответствующее поле в объекте. Примечание: тип «ContainerResource» доступен, когда включена функция-шлюз HPAContainerMetrics

    • metrics.containerResource (ContainerResourceMetricSource)

      containerResource относится к метрике ресурса (например, такие, которые указаны в запросах и ограничениях), известной Kubernetes, описывающей один контейнер в каждом pod текущей цели масштабирования (например, ЦП или память). Такие метрики встроенны в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик по pod с использованием источника «pods». Это функция alpha и может быть включена с помощью флага функции HPAContainerMetrics.

      ContainerResourceMetricSource указывает, как масштабироваться на метрике ресурса, известной Kubernetes, как указано в запросах и ограничениях, описывающей каждый pod в текущей цели масштабирования (например, ЦП или память). Значения будут усреднены перед сравнением с целевым значением. Такие метрики встроенны в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик по pod с использованием источника «pods». Должен быть установлен только один тип «target».

      • metrics.containerResource.container (строка), обязательно

        container — это имя контейнера в pod цели масштабирования

      • metrics.containerResource.name (строка), обязательно

        name — это имя ресурса.

      • metrics.containerResource.target (MetricTarget), обязательно

        target указывает целевое значение для данной метрики

        MetricTarget определяет целевое значение, среднее значение или среднюю загрузку определенной метрики

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

          type представляет собой тип метрики: Utilization, Value или AverageValue

        • metrics.containerResource.target.averageUtilization (int32)

          averageUtilization — это целевое значение среднего значения метрики ресурса по всем соответствующим pod, представленное в процентах от запрошенного значения ресурса для pod. В настоящее время это значение допустимо только для типа источника метрики Resource

        • metrics.containerResource.target.averageValue (Quantity)

          averageValue — это целевое значение среднего значения метрики по всем соответствующим pod (в виде количества)

        • metrics.containerResource.target.value (Quantity)

          value — это целевое значение метрики (в виде количества).

    • metrics.external (ExternalMetricSource)

      external относится к глобальной метрике, которая не связана с каким-либо объектом Kubernetes. Она позволяет автоматическое масштабирование на основе информации, поступающей из компонентов, работающих вне кластера (например, длина очереди в службе облачного обмена сообщениями или QPS от балансировщика нагрузки, работающего вне кластера).

      ExternalMetricSource указывает, как масштабироваться на метрике, не связанной ни с каким объектом Kubernetes (например, длина очереди в службе облачного обмена сообщениями или QPS от балансировщика нагрузки, работающего вне кластера).

      • metrics.external.metric (MetricIdentifier), обязательно

        metric идентифицирует целевую метрику по имени и селектору

        MetricIdentifier определяет имя и необязательно селектор для метрики

        • metrics.external.metric.name (строка), обязательно

          name — это имя данной метрики

        • metrics.external.metric.selector (LabelSelector)

          selector — это строковое представление стандартного селектора меток Kubernetes для данной метрики. При установке он передается как дополнительный параметр серверу метрик для более точного определения области метрик. При отсутствии используется только metricName для сбора метрик.

      • metrics.external.target (MetricTarget), обязательно

        target указывает целевое значение для данной метрики

        MetricTarget определяет целевое значение, среднее значение или среднюю загрузку определенной метрики

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

          type представляет собой тип метрики: Utilization, Value или AverageValue

        • metrics.external.target.averageUtilization (int32)

          averageUtilization — это целевое значение среднего значения метрики ресурса по всем соответствующим pod, представленное в процентах от запрошенного значения ресурса для pod. В настоящее время это значение допустимо только для типа источника метрики Resource

        • metrics.external.target.averageValue (Quantity)

          averageValue — это целевое значение среднего значения метрики по всем соответствующим pod (в виде количества)

        • metrics.external.target.value (Quantity)

          value — это целевое значение метрики (в виде количества).

    • metrics.object (ObjectMetricSource)

      object относится к метрике, описывающей один объект Kubernetes (например, количество обращений в секунду к объекту Ingress).

      ObjectMetricSource указывает, как масштабироваться на метрике, описывающей объект Kubernetes (например, количество обращений в секунду к объекту Ingress).

      • metrics.object.describedObject (CrossVersionObjectReference), обязательно

        describedObject определяет описание объекта, такие как kind,name apiVersion

        CrossVersionObjectReference содержит достаточную информацию для идентификации целевого ресурса.

        • metrics.object.describedObject.kind (строка), обязательно

          Kind целевого ресурса; Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"

        • metrics.object.describedObject.name (строка), обязательно

          Имя целевого ресурса; Более подробно: http://kubernetes.io/docs/user-guide/identifiers#names

        • metrics.object.describedObject.apiVersion (строка)

          Версия API целевого ресурса

      • metrics.object.metric (MetricIdentifier), обязательно

        metric идентифицирует целевую метрику по имени и селектору

        MetricIdentifier определяет имя и необязательно селектор для метрики

        • metrics.object.metric.name (строка), обязательно

          name — это имя данной метрики

        • metrics.object.metric.selector (LabelSelector)

          selector — это строковое представление стандартного селектора меток Kubernetes для данной метрики. При установке он передается как дополнительный параметр серверу метрик для более точного определения области метрик. При отсутствии используется только metricName для сбора метрик.

      • metrics.object.target (MetricTarget), обязательно

        target указывает целевое значение для данной метрики

        MetricTarget определяет целевое значение, среднее значение или среднюю загрузку определенной метрики

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

          type представляет собой тип метрики: Utilization, Value или AverageValue

        • metrics.object.target.averageUtilization (int32)

          averageUtilization — это целевое значение среднего значения метрики ресурса по всем соответствующим pod, представленное в процентах от запрошенного значения ресурса для pod. В настоящее время это значение допустимо только для типа источника метрики Resource

        • metrics.object.target.averageValue (Quantity)

          averageValue — это целевое значение среднего значения метрики по всем соответствующим pod (в виде количества)

        • metrics.object.target.value (Quantity)

          value — это целевое значение метрики (в виде количества).

    • metrics.pods (PodsMetricSource)

      pods относится к метрике, описывающей каждый под в текущей цели масштабирования (например, transactions-processed-per-second). Значения будут усреднены перед сравнением с целевым значением.

      PodsMetricSource указывает, как масштабировать на основе метрики, описывающей каждый под в текущей цели масштабирования (например, transactions-processed-per-second). Значения будут усреднены перед сравнением с целевым значением.

      • metrics.pods.metric (MetricIdentifier), required

        metric идентифицирует целевую метрику по имени и селектору

        MetricIdentifier определяет имя и необязательный селектор для метрики

        • metrics.pods.metric.name (string), required

          name — это имя заданной метрики

        • metrics.pods.metric.selector (LabelSelector)

          selector — это строковое представление стандартного селектора меток Kubernetes для заданной метрики. При установке он передается в качестве дополнительного параметра серверу метрик для более точного определения области метрик. При отсутствии используется только metricName для сбора метрик.

      • metrics.pods.target (MetricTarget), required

        target указывает целевое значение для заданной метрики

        MetricTarget определяет целевое значение, среднее значение или среднюю загрузку определенной метрики

        • metrics.pods.target.type (string), required

          type указывает, является ли тип метрики Utilization, Value или AverageValue

        • metrics.pods.target.averageUtilization (int32)

          averageUtilization — это целевое значение среднего значения метрики ресурса по всем соответствующим pods, представленное в процентах от запрошенного значения ресурса для pods. В настоящее время действует только для типа источника метрики Resource

        • metrics.pods.target.averageValue (Quantity)

          averageValue — это целевое значение среднего значения метрики по всем соответствующим pods (как количество)

        • metrics.pods.target.value (Quantity)

          value — это целевое значение метрики (как количество).

    • metrics.resource (ResourceMetricSource)

      resource относится к метрике ресурса (такой как те, которые указаны в запросах и ограничениях), известной Kubernetes, описывающей каждый pod в текущей цели масштабирования (например, CPU или память). Такие метрики встроенные в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик каждого под с использованием источника "pods". Должен быть установлен только один тип "target".

      ResourceMetricSource указывает, как масштабировать по метрике ресурса, известной Kubernetes, как указано в запросах и ограничениях, описывающих каждый pod в текущей цели масштабирования (например, CPU или память). Значения будут усреднены перед сравнением с целевым значением. Такие метрики встроенные в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик каждого под с использованием источника "pods". Должен быть установлен только один тип "target".

      • metrics.resource.name (string), required

        name — это имя рассматриваемого ресурса.

      • metrics.resource.target (MetricTarget), required

        target указывает целевое значение для заданной метрики

        MetricTarget определяет целевое значение, среднее значение или среднюю загрузку определенной метрики

        • metrics.resource.target.type (string), required

          type указывает, является ли тип метрики Utilization, Value или AverageValue

        • metrics.resource.target.averageUtilization (int32)

          averageUtilization — это целевое значение среднего значения метрики ресурса по всем соответствующим pods, представленное в процентах от запрошенного значения ресурса для pods. В настоящее время действует только для типа источника метрики Resource

        • metrics.resource.target.averageValue (Quantity)

          averageValue — это целевое значение среднего значения метрики по всем соответствующим pods (как количество)

        • metrics.resource.target.value (Quantity)

          value — это целевое значение метрики (как количество).

HorizontalPodAutoscalerStatus

HorizontalPodAutoscalerStatus описывает текущий статус горизонтального масштабирования pods.

  • desiredReplicas (int32), required

    desiredReplicas — желаемое количество копий pods, управляемых этим автомасштабированием, как последняя рассчитанная величина автомасштабированием.

  • conditions ([]HorizontalPodAutoscalerCondition)

    Patch strategy: merge on key type

    Map: unique values on key type will be kept during a merge

    conditions — набор условий, необходимых для масштабирования этим автомасштабированием, и указывает, выполняются ли эти условия.

    HorizontalPodAutoscalerCondition описывает состояние HorizontalPodAutoscaler в определенный момент.

    • conditions.status (string), required

      status — статус условия (True, False, Unknown)

    • conditions.type (string), required

      type описывает текущее условие

    • conditions.lastTransitionTime (Time)

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

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

    • conditions.message (string)

      message — удобочитаемое объяснение, содержащее подробности о переходе

    • conditions.reason (string)

      reason — причина последнего перехода условия.

  • currentMetrics ([]MetricStatus)

    Атомарно: будет заменено во время слияния

    currentMetrics — последнее состояние метрик, используемых этим автомасштабирующимся узлом.

    MetricStatus описывает последнее состояние одной метрики.

    • currentMetrics.type (string), необходимо

      type — тип источника метрики. Будет одним из "ContainerResource", "External", "Object", "Pods" или "Resource", каждый из которых соответствует соответствующему полю в объекте. Примечание: тип "ContainerResource" доступен, когда включен флаг-функции HPAContainerMetrics

    • currentMetrics.containerResource (ContainerResourceMetricStatus)

      container resource относится к метрике ресурса (таким, как те, что указаны в запросах и ограничениях), известной Kubernetes и описывающей один контейнер в каждом под в текущей целевой масштабируемости (например, CPU или память). Такие метрики встроены в Kubernetes и имеют специальные параметры масштабирования, помимо тех, которые доступны для обычных под-метрик, использующих источник "pods".

      ContainerResourceMetricStatus указывает текущее значение метрики ресурса, известной Kubernetes, как указано в запросах и ограничениях, описывающей один контейнер в каждом pod в текущей целевой шкале (например, CPU или память). Такие метрики встроены в Kubernetes и имеют специальные параметры масштабирования, помимо тех, которые доступны для обычных под-метрик, использующих источник "pods".

      • currentMetrics.containerResource.container (string), необходимо

        Container — имя контейнера в pods целевой масштабируемости

      • currentMetrics.containerResource.current (MetricValueStatus), необходимо

        current содержит текущее значение для заданной метрики

        MetricValueStatus хранит текущее значение для метрики

        • currentMetrics.containerResource.current.averageUtilization (int32)

          currentAverageUtilization — текущее значение среднего значения метрики ресурса по всем соответствующим pods, представленное как процент от запрошенного значения ресурса для pods.

        • currentMetrics.containerResource.current.averageValue (Quantity)

          averageValue — текущее значение среднего значения метрики по всем соответствующим pods (как количество)

        • currentMetrics.containerResource.current.value (Quantity)

          value — текущее значение метрики (как количество).

      • currentMetrics.containerResource.name (string), необходимо

        Name — имя рассматриваемого ресурса.

    • currentMetrics.external (ExternalMetricStatus)

      external относится к глобальной метрике, не связанной ни с каким объектом Kubernetes. Она позволяет масштабировать автоматизировано на основе информации, поступающей от компонентов, работающих вне кластера (например, длина очереди в службе облачных сообщений или QPS от балансировщика нагрузки, работающего вне кластера).

      ExternalMetricStatus указывает текущее значение глобальной метрики, не связанной ни с каким объектом Kubernetes.

      • currentMetrics.external.current (MetricValueStatus), необходимо

        current содержит текущее значение для заданной метрики

        MetricValueStatus хранит текущее значение для метрики

        • currentMetrics.external.current.averageUtilization (int32)

          currentAverageUtilization — текущее значение среднего значения метрики ресурса по всем соответствующим pods, представленное как процент от запрошенного значения ресурса для pods.

        • currentMetrics.external.current.averageValue (Quantity)

          averageValue — текущее значение среднего значения метрики по всем соответствующим pods (как количество)

        • currentMetrics.external.current.value (Quantity)

          value — текущее значение метрики (как количество).

      • currentMetrics.external.metric (MetricIdentifier), необходимо

        metric идентифицирует целевую метрику по имени и селектору

        MetricIdentifier определяет имя и, необязательно, селектор для метрики

        • currentMetrics.external.metric.name (string), необходимо

          name — имя заданной метрики

        • currentMetrics.external.metric.selector (LabelSelector)

          selector — строковое представление стандартного селектора меток Kubernetes для данной метрики. При установке он передается как дополнительный параметр серверу метрик для более конкретного определения области метрик. При отсутствии используется только metricName для сбора метрик.

    • currentMetrics.object (ObjectMetricStatus)

      object относится к метрике, описывающей один объект Kubernetes (например, количество запросов в секунду к объекту Ingress).

      ObjectMetricStatus указывает текущее значение метрики, описывающей объект Kubernetes (например, количество запросов в секунду к объекту Ingress).

      • currentMetrics.object.current (MetricValueStatus), необходимо

        current содержит текущее значение для заданной метрики

        MetricValueStatus хранит текущее значение для метрики

        • currentMetrics.object.current.averageUtilization (int32)

          currentAverageUtilization — текущее значение среднего значения метрики ресурса по всем соответствующим pods, представленное как процент от запрошенного значения ресурса для pods.

        • currentMetrics.object.current.averageValue (Quantity)

          averageValue — текущее значение среднего значения метрики по всем соответствующим pods (как количество)

        • currentMetrics.object.current.value (Quantity)

          value — текущее значение метрики (как количество).

      • currentMetrics.object.describedObject (CrossVersionObjectReference), необходимо

        DescribedObject определяет описание объекта, например тип, имя, apiVersion

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

        • currentMetrics.object.describedObject.kind (string), необходимо

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

        • currentMetrics.object.describedObject.name (string), необходимо

          Имя ссылаемого объекта; Дополнительная информация: http://kubernetes.io/docs/user-guide/identifiers#names

        • currentMetrics.object.describedObject.apiVersion (string)

          Версия API ссылаемого объекта

      • currentMetrics.object.metric (MetricIdentifier), необходимо

        metric идентифицирует целевую метрику по имени и селектору

        MetricIdentifier определяет имя и, необязательно, селектор для метрики

        • currentMetrics.object.metric.name (string), необходимо

          name — имя заданной метрики

        • currentMetrics.object.metric.selector (LabelSelector)

          selector — строковое представление стандартного селектора меток Kubernetes для данной метрики. При установке он передается как дополнительный параметр серверу метрик для более конкретного определения области метрик. При отсутствии используется только metricName для сбора метрик.

    • currentMetrics.pods (PodsMetricStatus)

      pods относится к метрике, описывающей каждый pod в текущей целевой масштабируемости (например, количество обработанных транзакций в секунду). Значения усредняются перед сравнением с целевым значением.

      PodsMetricStatus указывает текущее значение метрики, описывающей каждый pod в текущей целевой масштабируемости (например, количество обработанных транзакций в секунду).

      • currentMetrics.pods.current (MetricValueStatus), необходимо

        current содержит текущее значение для заданной метрики

        MetricValueStatus хранит текущее значение для метрики

        • currentMetrics.pods.current.averageUtilization (int32)

          currentAverageUtilization — текущее значение среднего значения метрики ресурса по всем соответствующим pods, представленное как процент от запрошенного значения ресурса для pods.

        • currentMetrics.pods.current.averageValue (Quantity)

          averageValue — текущее значение среднего значения метрики по всем соответствующим pods (как количество)

        • currentMetrics.pods.current.value (Quantity)

          value — текущее значение метрики (как количество).

      • currentMetrics.pods.metric (MetricIdentifier), необходимо

        metric идентифицирует целевую метрику по имени и селектору

        MetricIdentifier определяет имя и, необязательно, селектор для метрики

        • currentMetrics.pods.metric.name (string), необходимо

          name — имя заданной метрики

        • currentMetrics.pods.metric.selector (LabelSelector)

          selector — строковое представление стандартного селектора меток Kubernetes для данной метрики. При установке он передается как дополнительный параметр серверу метрик для более конкретного определения области метрик. При отсутствии используется только metricName для сбора метрик.

    • currentMetrics.resource (ResourceMetricStatus)

      resource относится к метрике ресурса (например, тем, которые указаны в запросах и ограничениях), известной Kubernetes, описывающей каждый pod в текущей целевой шкале (например, CPU или память). Такие метрики встроенные в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик на под, используя источник "pods".

      ResourceMetricStatus указывает текущее значение метрики ресурса, известной Kubernetes, как указано в запросах и ограничениях, описывающих каждый pod в текущей целевой шкале (например, CPU или память). Такие метрики встроенные в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик на под, используя источник "pods".

      • currentMetrics.resource.current (MetricValueStatus), required

        current содержит текущее значение для данной метрики

        MetricValueStatus содержит текущее значение для метрики

        • currentMetrics.resource.current.averageUtilization (int32)

          currentAverageUtilization — текущее значение среднего значения метрики ресурса по всем соответствующим pods, представленное в процентах от запрошенного значения ресурса для pods.

        • currentMetrics.resource.current.averageValue (Quantity)

          averageValue — текущее значение среднего значения метрики по всем соответствующим pods (как количество).

        • currentMetrics.resource.current.value (Quantity)

          value — текущее значение метрики (как количество).

      • currentMetrics.resource.name (string), required

        Name — имя ресурса.

  • currentReplicas (int32)

    currentReplicas — текущее количество реплик pods, управляемых этим autoscaler, как в последний раз увиденное autoscaler.

  • lastScaleTime (Time)

    lastScaleTime — последнее время, когда HorizontalPodAutoscaler изменил количество pods, используемое autoscaler для управления частотой изменения количества pods.

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

  • observedGeneration (int64)

    observedGeneration — самая последняя наблюдаемая генерация этим autoscaler.

HorizontalPodAutoscalerList

HorizontalPodAutoscalerList — список объектов горизонтального автоматического масштабирования.

  • apiVersion: autoscaling/v2

  • kind: HorizontalPodAutoscalerList

  • metadata (ListMeta)

    metadata — стандартные метаданные списка.

  • items ([]HorizontalPodAutoscaler), required

    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/workload-resources/horizontal-pod-autoscaler-v2/

Spec-Zone.ru

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