Spec-Zone.ru › Kubernetes 1.27

HorizontalPodAutoscaler

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

apiVersion: autoscaling/v2

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

Горизонтальное автомасштабирование под

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 описывает желаемое поведение горизонтального автомасштабирования под.

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

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

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

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

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

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

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

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

      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)

        Atomic: will be replaced during a merge

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

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

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

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

        • 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 секунд).

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

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

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

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

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

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

    • metrics.containerResource (ContainerResourceMetricSource)

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

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

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

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

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

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

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

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

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

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

          type указывает, является ли тип метрики Загрузкой, Значением или СреднимЗначением

        • metrics.containerResource.target.averageUtilization (int32)

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

        • 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 указывает, является ли тип метрики Загрузкой, Значением или СреднимЗначением

        • metrics.external.target.averageUtilization (int32)

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

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

          kind — тип указанного объекта; Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

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

          name — имя указанного объекта; Более подробно: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

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

          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 указывает, является ли тип метрики Загрузкой, Значением или СреднимЗначением

        • metrics.object.target.averageUtilization (int32)

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

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

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

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

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

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

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

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

        • currentMetrics.containerResource.current.averageUtilization (int32)

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

        • currentMetrics.containerResource.current.averageValue (Quantity)

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

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

        • currentMetrics.external.current.averageValue (Quantity)

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

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

        • currentMetrics.object.current.averageValue (Quantity)

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

        • currentMetrics.object.current.value (Quantity)

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

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

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

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

        • currentMetrics.object.describedObject.kind (string), обязательное

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

        • currentMetrics.object.describedObject.name (string), обязательное

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

        • currentMetrics.object.describedObject.apiVersion (string)

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

        • currentMetrics.pods.current.averageValue (Quantity)

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

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

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

      • currentMetrics.resource.current (MetricValueStatus), required

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

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

        • currentMetrics.resource.current.averageUtilization (int32)

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

        • currentMetrics.resource.current.averageValue (Quantity)

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

        • currentMetrics.resource.current.value (Quantity)

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

      • currentMetrics.resource.name (string), required

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

  • currentReplicas (int32)

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

  • lastScaleTime (Time)

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

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

  • observedGeneration (int64)

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

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

Spec-Zone.ru

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