Spec-Zone.ru › Kubernetes 1.24

HorizontalPodAutoscaler

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

apiVersion: autoscaling/v2

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

HorizontalPodAutoscaler

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

  • 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 описывает желаемое поведение HorizontalPodAutoscaler.

  • 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 и настроена хотя бы одна метрика объекта или внешняя метрика. Масштабирование активное, пока доступно значение хотя бы одной метрики.

  • behavior (HorizontalPodAutoscalerBehavior)

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

    HorizontalPodAutoscalerBehavior настраивает поведение масштабирования целевого ресурса как в сторону увеличения, так и в сторону уменьшения (соответственно поля scaleUp и scaleDown).

    • behavior.scaleDown (HPAScalingRules)

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

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

      • behavior.scaleDown.policies ([]HPAScalingPolicy)

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

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

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

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

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

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

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

        • 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), обязательное поле

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

        • 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, описывающим один контейнер в каждом под-контейнере текущей целевой масштабируемости (например, ЦП или память). Такие метрики встроены в Kubernetes и имеют специальные параметры масштабирования помимо тех, которые доступны для обычных метрик по под-контейнерам, использующим источник "pods". Это функция alpha и может быть включена с помощью флага функции HPAContainerMetrics.

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

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

        container — имя контейнера в под-контейнерах целевой масштабируемости

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

        name — имя интересующего ресурса.

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

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

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

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

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

        • metrics.containerResource.target.averageUtilization (int32)

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

        • metrics.containerResource.target.averageValue (Quantity)

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

        • 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 — целевое значение среднего значения метрики ресурса по всем соответствующим под-контейнерам, представленное как процент от запрошенного значения ресурса для под-контейнеров. В настоящее время допустимо только для типа источника метрики Resource

        • metrics.external.target.averageValue (Quantity)

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

        • metrics.external.target.value (Quantity)

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

    • metrics.object (ObjectMetricSource)

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

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

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

        describedObject указывает описания объекта, такие как тип, имя, apiVersion

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

        • metrics.object.describedObject.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 — целевое значение среднего значения метрики ресурса по всем соответствующим под-контейнерам, представленное как процент от запрошенного значения ресурса для под-контейнеров. В настоящее время допустимо только для типа источника метрики Resource

        • metrics.object.target.averageValue (Quantity)

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

        • 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, как указано в запросах и ограничениях, описывающей один контейнер в каждом поддоме текущей целевой области масштабирования (например, CPU или память). Такие метрики встроены в Kubernetes и имеют специальные параметры масштабирования помимо доступных для обычных метрик на уровне поддомов с использованием источника "pods".

      • currentMetrics.containerResource.container (string), обязательно

        Container — имя контейнера в поддомах целевой области масштабирования

      • currentMetrics.containerResource.current (MetricValueStatus), обязательно

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

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

        • currentMetrics.containerResource.current.averageUtilization (int32)

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

        • currentMetrics.containerResource.current.averageValue (Quantity)

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

        • 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 — текущее значение среднего значения метрики ресурса по всем соответствующим поддомам, представленное как процент от запрошенного значения ресурса для поддомов.

        • currentMetrics.external.current.averageValue (Quantity)

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

        • 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 — текущее значение среднего значения метрики ресурса по всем соответствующим поддомам, представленное как процент от запрошенного значения ресурса для поддомов.

        • currentMetrics.object.current.averageValue (Quantity)

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

        • 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), обязательно

          Имя референта; Более подробная информация: https://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 относится к метрике, описывающей каждый поддом в текущей целевой области масштабирования (например, количество обработанных транзакций в секунду). Значения усредняются перед сравнением с целевым значением.

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

      • currentMetrics.pods.current (MetricValueStatus), обязательно

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

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

        • currentMetrics.pods.current.averageUtilization (int32)

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

        • currentMetrics.pods.current.averageValue (Quantity)

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

        • 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-24.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/

Spec-Zone.ru

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