HorizontalPodAutoscaler

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

apiVersion: autoscaling/v2

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

HorizontalPodAutoscaler

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


Зрозуміло, ось переклад без формату YAML:

HorizontalPodAutoscalerSpec

HorizontalPodAutoscalerSpec описує бажану функціональність HorizontalPodAutoscaler.


  • maxReplicas (int32), обовʼязково

    maxReplicas — верхня межа кількості реплік, до якої може масштабуватись автомасштабувальник. Не може бути менше minReplicas.

  • scaleTargetRef (CrossVersionObjectReference), обовʼязково

    scaleTargetRef вказує на цільовий ресурс для масштабування і використовується для збору метрик для Podʼів, а також для зміни кількості реплік.

    CrossVersionObjectReference містить достатньо інформації для ідентифікації вказаного ресурсу.

  • minReplicas (int32)

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

  • behavior (HorizontalPodAutoscalerBehavior)

    behavior — налаштовує поведінку масштабування цільового ресурсу як в напрямку збільшення, так і в напрямку зменшення (поля scaleUp та scaleDown відповідно). Якщо не вказано, будуть використані типові правила масштабування HPAScalingRules для збільшення і зменшення.

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

    • behavior.scaleDown (HPAScalingRules)

      scaleDown — політика масштабування для зменшення. Якщо не встановлено, типове значення дозволяє зменшувати до minReplicas Podʼів з вікном стабілізації 300 секунд (тобто використовується найкраще рекомендоване значення за останні 300 секунд).

      HPAScalingRules налаштовує поведінку масштабування для одного напрямку. Ці правила застосовуються після обчислення бажаної кількості реплік з метрик для 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 — визначає вікно часу, протягом якого політика повинна бути true. PeriodSeconds повинен бути більше нуля і менше або рівний 1800 (30 хвилин).

      • behavior.scaleDown.selectPolicy (string)

        selectPolicy — використовується для зазначення того, яка політика повинна бути використана. Якщо не встановлено, використовується типове значення Max.

      • behavior.scaleDown.stabilizationWindowSeconds (int32)

        stabilizationWindowSeconds — кількість секунд, протягом яких враховуються попередні рекомендації під час збільшення або зменшення масштабування. stabilizationWindowSeconds повинен бути більше або рівний нулю і менше або рівний 3600 (одна година). Якщо не встановлено, використовуються типові значення:

        • Для збільшення масштабування: 0 (тобто стабілізація не виконується).
        • Для зменшення масштабування: 300 (тобто вікно стабілізації 300 секунд).
  • behavior.scaleUp (HPAScalingRules)

    scaleUp — це політика масштабування вгору. Якщо не встановлено, використовується стандартне значення, яке є найбільшим з:

    • збільшення не більше ніж на 4 Podʼи за 60 секунд
    • подвоєння кількості Podʼів за 60 секунд

    Стабілізація не використовується.

    HPAScalingRules налаштовує поведінку масштабування в одному напрямку. Ці правила застосовуються після обчислення DesiredReplicas з метрик для HPA. Вони можуть обмежити швидкість масштабування, вказуючи політики масштабування. Вони можуть запобігти нестабільному масштабуванню, вказуючи вікно стабілізації, щоб кількість реплік не змінювалася миттєво, а вибиралося найбезпечніше значення з вікна стабілізації.

    • behavior.scaleUp.policies ([]HPAScalingPolicy)

      Atomic: буде замінено під час обʼєднання

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

      HPAScalingPolicy — це окрема політика, якої треба має бути true протягом заданого інтервалу в минулому.

      • behavior.scaleUp.policies.type (string), обовʼязково

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

      • behavior.scaleUp.policies.value (int32), обовʼязково

        value — містить кількість змін, дозволених політикою. Значення має бути більше нуля.

      • behavior.scaleUp.policies.periodSeconds (int32), обовʼязково

        periodSeconds визначає вікно часу, протягом якого політика має бути true. PeriodSeconds має бути більше нуля та менше або дорівнювати 1800 (30 хвилин).

    • behavior.scaleUp.selectPolicy (string)

      selectPolicy використовується для вказівки, яка політика має бути використана. Якщо не встановлено, використовується стандартне значення Max.

    • behavior.scaleUp.stabilizationWindowSeconds (int32)

      stabilizationWindowSeconds — це кількість секунд, протягом яких минулі рекомендації мають враховуватися під час масштабування вгору або вниз. StabilizationWindowSeconds має бути більше або дорівнювати нулю та менше або дорівнювати 3600 (одна година). Якщо не встановлено, використовуються стандартні значення:

      • Для масштабування вгору: 0 (тобто стабілізація не виконується).
      • Для масштабування вниз: 300 (тобто вікно стабілізації триває 300 секунд).
  • metrics ([]MetricSpec)

    Atomic: буде замінено під час обʼєднання

    metrics містить специфікації для обчислення бажаної кількості реплік (буде використана максимальна кількість реплік за всіма метриками). Бажана кількість реплік обчислюється множенням відношення між цільовим значенням та поточним значенням на поточну кількість Podʼів. Таким чином, метрики, що використовуються, мають зменшуватися зі збільшенням кількості Podʼів, і навпаки. Дивіться індивідуальні типи джерел метрик для отримання додаткової інформації про те, як кожен тип метрик має реагувати. Якщо не встановлено, стандартна метрика з буде встановлена на 80% середнього використання CPU.

    MetricSpec визначає, як масштабуватися на основі однієї метрики (лише type та одне інше відповідне поле мають бути встановлені одночасно).

    • metrics.type (string), обовʼязково

      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), обовʼязково

        container — це назва контейнера в Podʼах цільового масштабу.

      • metrics.containerResource.name (string), обовʼязково

        name — це назва відповідного ресурсу.

      • metrics.containerResource.target (MetricTarget), обовʼязково

        target — визначає цільове значення для даної метрики.

        MetricTarget визначає цільове значення, середнє значення або середнє використання певної метрики.

        • metrics.containerResource.target.type (string), обовʼязково

          type — представляє, чи є тип метрики Utilization, Value або AverageValue.

        • metrics.containerResource.target.averageUtilization (int32)

          averageUtilization — це цільове значення середнього значення метрики ресурсу по всім відповідним Podʼам, представлене у відсотках від запитуваного значення ресурсу для Podʼів. Наразі дійсно лише для типу джерела метрики Resource.

        • metrics.containerResource.target.averageValue (Quantity)

          averageValue – це цільове значення середнього значення метрики по всім відповідним Podʼам (як кількість).

        • metrics.containerResource.target.value (Quantity)

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

    • metrics.external (ExternalMetricSource)

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

      ExternalMetricSource вказує, як масштабуватися на основі метрики, не повʼязаної з жодним обʼєктом Kubernetes (наприклад, довжина черги у хмарному сервісі обміну повідомленнями або QPS від балансувальника навантаження, що працює за межами кластера).

      • metrics.external.metric (MetricIdentifier), обовʼязково

        metric — визначає цільову метрику за назвою та селектором.

        MetricIdentifier визначає назву та, за потреби, селектор для метрики.

        • metrics.external.metric.name (string), обовʼязково

          name — це назва даної метрики.

        • metrics.external.metric.selector (LabelSelector)

          selector — це строкове кодування стандартного селектора міток Kubernetes для даної метрики. Якщо встановлено, він передається як додатковий параметр серверу метрик для більш специфічного вибору метрик. Якщо не встановлено, для збору метрик буде використовуватися лише назва метрики.

      • metrics.external.target (MetricTarget), обовʼязково

        target — визначає цільове значення для даної метрики.

        MetricTarget визначає цільове значення, середнє значення або середнє використання певної метрики.

        • metrics.external.target.type (string), обовʼязково

          type — представляє, чи є тип метрики Utilization, Value або AverageValue.

        • metrics.external.target.averageUtilization (int32)

          averageUtilization — це цільове значення середнього значення метрики ресурсу по всім відповідним Podʼам, представлене у відсотках від запитуваного значення ресурсу для Podʼів. Наразі дійсно лише для типу джерела метрики Resource.

        • metrics.external.target.averageValue (Quantity)

          averageValue — це цільове значення середнього значення метрики по всім відповідним Podʼам (як кількість).

        • metrics.external.target.value (Quantity)

          value – це цільове значення метрики (як кількість).

    • metrics.object (ObjectMetricSource)

      object — стосується метрики, що описує один обʼєкт Kubernetes (наприклад, кількість запитів на секунду на обʼєкті Ingress).

      ObjectMetricSource вказує, як масштабуватися на основі метрики, що описує обʼєкт Kubernetes (наприклад, кількість запитів на секунду на обʼєкті Ingress).

      • metrics.object.describedObject (CrossVersionObjectReference), обовʼязково

        describedObject визначає опис обʼєкта, такого як тип, імʼя та версія API.

        CrossVersionObjectReference містить достатньо інформації для ідентифікації відповідного ресурсу.

      • metrics.object.metric (MetricIdentifier), обовʼязково

        metric — визначає цільову метрику за назвою та селектором.

        MetricIdentifier визначає назву та, за потреби, селектор для метрики.

        • metrics.object.metric.name (string), обовʼязково

          name — це назва даної метрики.

        • metrics.object.metric.selector (LabelSelector)

          selector — це строкове кодування стандартного селектора міток Kubernetes для даної метрики. Якщо встановлено, він передається як додатковий параметр серверу метрик для більш специфічного вибору метрик. Якщо не встановлено, для збору метрик буде використовуватися лише назва метрики.

      • metrics.object.target (MetricTarget), обовʼязково

        target — визначає цільове значення для даної метрики.

        MetricTarget визначає цільове значення, середнє значення або середнє використання певної метрики.

        • metrics.object.target.type (string), обовʼязково

          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 у поточному цільовому масштабі (наприклад, кількість транзакцій на секунду). Значення будуть усереднені перед порівнянням з цільовим значенням.

      PodsMetricSource вказує, як масштабуватися на основі метрики, що описує кожен Pod у поточному цільовому масштабі (наприклад, кількість транзакцій на секунду). Значення будуть усереднені перед порівнянням з цільовим значенням.

      • metrics.pods.metric (MetricIdentifier), обовʼязково

        metric — визначає цільову метрику за назвою та селектором.

        MetricIdentifier визначає назву та, за потреби, селектор для метрики.

        • metrics.pods.metric.name (string), обовʼязково

          name — це назва даної метрики.

        • metrics.pods.metric.selector (LabelSelector)

          selector — це строкове кодування стандартного селектора міток Kubernetes для даної метрики. Якщо встановлено, він передається як додатковий параметр серверу метрик для більш специфічного вибору метрик. Якщо не встановлено, для збору метрик буде використовуватися лише назва метрики.

      • metrics.pods.target (MetricTarget), обовʼязково

        target визначає цільове значення для даної метрики.

        MetricTarget визначає цільове значення, середнє значення або середнє використання певної метрики.

        • metrics.pods.target.type (string), обовʼязково

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

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

      • metrics.resource.name (string), обовʼязково

        name — це назва ресурсу.

      • metrics.resource.target (MetricTarget), обовʼязково

        target — визначає цільове значення для даної метрики.

        MetricTarget визначає цільове значення, середнє значення або середнє використання певної метрики.

        • metrics.resource.target.type (string), обовʼязково

          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), обовʼязково

    desiredReplicas — це бажана кількість реплік Podʼів, якими керує цей автомасштабувальник, відповідно до останнього обчислення автомасштабувальника.

  • conditions ([]HorizontalPodAutoscalerCondition)

    Patch strategy: обʼєднання за ключем type

    Map: під час обʼєднання зберігатимуться унікальні значення за ключем type

    conditions — це набір станів, необхідних для масштабування цільового обʼєкта автомасштабувальником, та вказує, чи було їх досягнуто.

    HorizontalPodAutoscalerCondition описує стан HorizontalPodAutoscaler у певний момент часу.

    • conditions.status (string), обовʼязково

      status — це статус стану (True, False, Unknown)

    • conditions.type (string), обовʼязково

      type описує поточний стан

    • conditions.lastTransitionTime (Time)

      lastTransitionTime — це останній час, коли стан перейшла з одного стану в інший

      Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.

    • conditions.message (string)

      message - це зрозуміле людині пояснення, що містить деталі про зміну стану

    • conditions.reason (string)

      reason — це причина останньї зміни стану.

  • currentMetrics ([]MetricStatus)

    Atomic: буде замінено під час обʼєднання

    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 вказує описи обʼєкта, такі як kind, name, apiVersion

        CrossVersionObjectReference містить достатньо інформації, щоб ідентифікувати вказаний ресурс.

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

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

      • currentMetrics.resource.current (MetricValueStatus), обовʼязково

        current містить поточне значення для даної метрики

        MetricValueStatus містить поточне значення метрики

        • currentMetrics.resource.current.averageUtilization (int32)

          currentAverageUtilization — це поточне значення середнього використання метрики ресурсу серед усіх відповідних Podʼів, представлене у відсотках від запитаного значення ресурсу для Podʼів.

        • currentMetrics.resource.current.averageValue (Quantity)

          averageValue — це поточне середнє значення метрики серед усіх відповідних Podʼів (як кількість)

        • currentMetrics.resource.current.value (Quantity)

          value — це поточне значення метрики (як кількість).

      • currentMetrics.resource.name (string), обовʼязково

        name — це імʼя ресурсу, про який йдеться.

  • currentReplicas (int32)

    currentReplicas — це поточна кількість реплік Podʼів, якими керує цей автомасштабувальник, як це було останній раз спостережено автомасштабувальником.

  • lastScaleTime (Time)

    lastScaleTime — це останній час, коли HorizontalPodAutoscaler масштабував кількість Podʼів, використовується автомасштабувальником для контролю частоти зміни кількості Podʼів.

    Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.

  • observedGeneration (int64)

    observedGeneration — це останнє покоління, яке спостерігав цей автомасштабувальник.

HorizontalPodAutoscalerList

HorizontalPodAutoscalerList — це список обʼєктів горизонтального автомасштабувальника Podʼів.


  • apiVersion: autoscaling/v2

  • kind: HorizontalPodAutoscalerList

  • metadata (ListMeta)

    metadata — це стандартні метадані списку.

  • items ([]HorizontalPodAutoscaler), обовʼязково

    items — це список обʼєктів горизонтального автомасштабувальника Podʼів.

Операції


get отримати вказаний HorizontalPodAutoscaler

HTTP запит

GET /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • pretty (в запиті): string

    pretty

Відповідь

200 (HorizontalPodAutoscaler): OK

401: Unauthorized

get отримати статус вказаного HorizontalPodAutoscaler

HTTP запит

GET /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • pretty (в запиті): string

    pretty

Відповідь

200 (HorizontalPodAutoscaler): OK

401: Unauthorized

list перелік або перегляд обʼєктів типу HorizontalPodAutoscaler

HTTP запит

GET /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers

Параметри

Відповідь

200 (HorizontalPodAutoscalerList): OK

401: Unauthorized

list перелік або перегляд за обʼєктів типу HorizontalPodAutoscaler

HTTP запит

GET /apis/autoscaling/v2/horizontalpodautoscalers

Параметри

Відповідь

200 (HorizontalPodAutoscalerList): OK

401: Unauthorized

create створення HorizontalPodAutoscaler

HTTP запит

POST /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers

Параметри

Відповідь

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): Created

202 (HorizontalPodAutoscaler): Accepted

401: Unauthorized

update заміна вказаний HorizontalPodAutoscaler

HTTP запит

PUT /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • body: HorizontalPodAutoscaler, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • pretty (в запиті): string

    pretty

Відповідь

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): Created

401: Unauthorized

update заміна статусу вказаного HorizontalPodAutoscaler

HTTP запит

PUT /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • body: HorizontalPodAutoscaler, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • pretty (в запиті): string

    pretty

Відповідь

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): Created

401: Unauthorized

patch часткове оновлення вказаного HorizontalPodAutoscaler

HTTP запит

PATCH /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • body: patch, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • force (в запиті): boolean

    force

  • pretty (в запиті): string

    pretty

Відповідь

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): Created

401: Unauthorized

patch часткове оновлення статусу вказаного HorizontalPodAutoscaler

HTTP запит

PATCH /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • body: patch, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • force (в запиті): boolean

    force

  • pretty (в запиті): string

    pretty

Відповідь

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): Created

401: Unauthorized

delete видалення HorizontalPodAutoscaler

HTTP запит

DELETE /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя HorizontalPodAutoscaler

  • namespace (в шляху): string, обовʼязково

    namespace

  • body: deleteOptions

  • dryRun (в запиті): string

    dryRun

  • gracePeriodSeconds (в запиті): integer

    gracePeriodSeconds

  • pretty (в запиті): string

    pretty

  • propagationPolicy (в запиті): string

    propagationPolicy

Відповідь

200 (HorizontalPodAutoscaler): OK

202 (HorizontalPodAutoscaler): Accepted

401: Unauthorized

deletecollection видалення колекції HorizontalPodAutoscaler

HTTP запит

DELETE /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers

Параметри

Відповідь

200 (Status): OK

401: Unauthorized

Змінено June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)