Spec-Zone.ru › Kubernetes

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), required

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

  • scaleTargetRef (CrossVersionObjectReference), required

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

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

    • scaleTargetRef.kind (string), required

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

    • scaleTargetRef.name (string), required

      name — имя ссылаемого объекта; Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    • scaleTargetRef.apiVersion (string)

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

  • minReplicas (int32)

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

  • behavior (HorizontalPodAutoscalerBehavior)

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

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

    • behavior.scaleDown (HPAScalingRules)

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

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

      • behavior.scaleDown.policies ([]HPAScalingPolicy)

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

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

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

        • behavior.scaleDown.policies.type (string), required

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

        • behavior.scaleDown.policies.value (int32), required

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

        • behavior.scaleDown.policies.periodSeconds (int32), required

          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 под на 60 секунд
      • удвоение количества под за 60 секунд

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

      • behavior.scaleUp.policies ([]HPAScalingPolicy)

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

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

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

        • behavior.scaleUp.policies.type (string), required

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

        • behavior.scaleUp.policies.value (int32), required

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

        • behavior.scaleUp.policies.periodSeconds (int32), required

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

      • behavior.scaleUp.selectPolicy (string)

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

      • behavior.scaleUp.stabilizationWindowSeconds (int32)

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

  • metrics ([]MetricSpec)

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

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

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

    • metrics.type (string), required

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

    • metrics.containerResource (ContainerResourceMetricSource)

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

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

      • metrics.containerResource.container (string), required

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

      • metrics.containerResource.name (string), required

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

      • metrics.containerResource.target (MetricTarget), required

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

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

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

          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), required

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

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

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

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

        • metrics.external.metric.selector (LabelSelector)

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

      • metrics.external.target (MetricTarget), required

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

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

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

          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 (например, hits-per-second для объекта Ingress).

      ObjectMetricSource указывает, как масштабировать метрику, описывающую объект kubernetes (например, hits-per-second для объекта Ingress).

      • metrics.object.describedObject (CrossVersionObjectReference), required

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

        CrossVersionObjectReference содержит достаточно информации, чтобы идентифицировать ссылаемый ресурс.

        • metrics.object.describedObject.kind (string), required

          kind — это тип референта; Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

        • metrics.object.describedObject.name (string), required

          name — это имя референта; Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

        • metrics.object.describedObject.apiVersion (string)

          apiVersion — это версия API референта

      • metrics.object.metric (MetricIdentifier), required

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

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

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

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

        • metrics.object.metric.selector (LabelSelector)

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

      • metrics.object.target (MetricTarget), required

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

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

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

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

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

        • metrics.pods.target.averageValue (Quantity)

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

        • metrics.pods.target.value (Quantity)

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

    • metrics.resource (ResourceMetricSource)

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

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

        • metrics.resource.target.averageValue (Quantity)

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

        • metrics.resource.target.value (Quantity)

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

HorizontalPodAutoscalerStatus

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

  • desiredReplicas (int32), required

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

  • 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. Обёртки предоставляются для многих фабричных методов, предлагаемых пакетом time.

    • conditions.message (string)

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

    • conditions.reason (string)

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

  • currentMetrics ([]MetricStatus)

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

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

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

    • currentMetrics.type (string), required

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

    • currentMetrics.containerResource (ContainerResourceMetricStatus)

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

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

      • currentMetrics.containerResource.container (string), required

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

      • currentMetrics.containerResource.current (MetricValueStatus), required

        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), required

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

    • currentMetrics.external (ExternalMetricStatus)

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

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

      • currentMetrics.external.current (MetricValueStatus), required

        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), required

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

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

        • currentMetrics.external.metric.name (string), required

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

        • currentMetrics.external.metric.selector (LabelSelector)

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

    • currentMetrics.object (ObjectMetricStatus)

      object относится к метрике, описывающей один объект kubernetes (например, hits-per-second для объекта Ingress).

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

      • currentMetrics.object.current (MetricValueStatus), required

        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), required

        DescribedObject указывает описания объекта, такие как kind, name, apiVersion

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

        • currentMetrics.object.describedObject.kind (string), required

          kind — это тип референта; Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

        • currentMetrics.object.describedObject.name (string), required

          name — это имя референта; Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

        • currentMetrics.object.describedObject.apiVersion (string)

          apiVersion — это версия API референта

      • currentMetrics.object.metric (MetricIdentifier), required

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

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

        • currentMetrics.object.metric.name (string), required

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

        • currentMetrics.object.metric.selector (LabelSelector)

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

    • currentMetrics.pods (PodsMetricStatus)

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

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

      • currentMetrics.pods.current (MetricValueStatus), required

        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), required

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

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

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

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

        • currentMetrics.pods.metric.selector (LabelSelector)

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

    • currentMetrics.resource (ResourceMetricStatus)

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

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

  • lastScaleTime (Time)

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

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

  • observedGeneration (int64)

    observedGeneration — самая последняя генерация, наблюдаемая этим автоматическим масштабированием.

Список горизонтальных автомасштабируемых pods

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

  • apiVersion: autoscaling/v2

  • kind: HorizontalPodAutoscalerList

  • metadata (ListMeta)

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

  • items ([]HorizontalPodAutoscaler), required

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

© 2024 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2024 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/

Spec-Zone.ru

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