Spec-Zone.ru › Chef 17

Ресурс google_compute_autoscaler

[править на GitHub]

Синтаксис

Используется для тестирования ресурса Google Autoscaler.

Ресурс бета-версии

Этот ресурс имеет поля бета-версии. Для получения этих полей включите beta: true в конструктор ресурса.

Примеры

describe google_compute_autoscaler(project: 'chef-gcp-inspec', zone: 'zone', name: 'inspec-gcp-autoscaler') do
  it { should exist }

  its('target') { should match /\/inspec-gcp-igm$/ }
  its('autoscaling_policy.max_num_replicas') { should eq '5' }
  its('autoscaling_policy.min_num_replicas') { should eq '1' }
  its('autoscaling_policy.cool_down_period_sec') { should eq '60' }
  its('autoscaling_policy.cpu_utilization.utilization_target') { should eq '0.5' }
end

describe google_compute_autoscaler(project: 'chef-gcp-inspec', zone: 'zone', name: 'nonexistent') do
  it { should_not exist }
end

Свойства

Свойства, доступные для ресурса google_compute_autoscaler:

id
Уникальный идентификатор ресурса.
creation_timestamp
Дата создания в формате RFC3339.
name
Имя ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению [a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
description
Необязательное описание ресурса.
autoscaling_policy
Параметры конфигурации алгоритма автоматического масштабирования. Можно задать один или несколько политик для autoscaler: cpuUtilization, customMetricUtilizations и loadBalancingUtilization. Если ни одна из них не указана, по умолчанию будет производиться масштабирование на основе cpuUtilization до 0,6 или 60%.
min_num_replicas
Минимальное количество реплик, до которого может уменьшиться autoscaler. Не может быть меньше 0. Если не указано, autoscaler выберет значение по умолчанию, зависящее от максимального числа разрешенных экземпляров.
max_num_replicas
Максимальное количество экземпляров, до которого может увеличиться autoscaler. Требуется при создании или обновлении autoscaler. Максимальное количество реплик не должно быть меньше минимального.
cool_down_period_sec
Количество секунд, которое autoscaler должен ждать, прежде чем начать сбор информации с нового экземпляра. Это предотвращает сбор информации при инициализации экземпляра, в течение которой собранное использование не будет надежным. По умолчанию autoscaler ждет 60 секунд. Время инициализации виртуальной машины может меняться из-за различных факторов. Рекомендуется протестировать время, необходимое для инициализации экземпляра. Для этого создайте экземпляр и замерьте процесс запуска.
cpu_utilization
Определяет политику использования процессора, которая позволяет autoscaler масштабироваться на основе среднего использования процессора в группе управляемых экземпляров.
utilization_target
Целевое использование процессора, которое autoscaler должен поддерживать. Должно быть числовым значением с плавающей точкой в диапазоне (0, 1]. Если не указано, по умолчанию значение равно 0,6. Если уровень процессора ниже целевого использования, autoscaler уменьшает количество экземпляров до минимального значения, указанного вами, или до тех пор, пока среднее использование процессора ваших экземпляров не достигнет целевого значения. Если среднее использование процессора выше целевого значения, autoscaler увеличивает количество экземпляров до максимального значения, указанного вами, или до тех пор, пока среднее использование не достигнет целевого значения.
custom_metric_utilizations
Параметры конфигурации autoscaling на основе пользовательского метрика.
metric
Идентификатор (тип) метрики Stackdriver Monitoring. Метрика не может иметь отрицательных значений. Метрика должна иметь тип значения INT64 или DOUBLE.
single_instance_assignment
(Только бета-версия) Если масштабирование основано на значении метрики на группу, которое представляет собой общее количество работы или использования ресурсов, установите это значение в количество, назначенное для одного экземпляра масштабируемой группы. Autoscaler будет сохранять количество экземпляров пропорционально значению этой метрики, метрика сама по себе не должна изменять значение из-за изменения размера группы. Например, хорошая метрика для использования с целевым значением — это pubsub.googleapis.com/subscription/num_undelivered_messages, или пользовательская метрика, экспортирующая общее количество запросов, поступающих на ваши экземпляры. Плохой пример — метрика, экспортирующая среднюю или медианную задержку, поскольку это значение не может включать часть, присваиваемую отдельному экземпляру, его можно использовать лучше с utilization_target.
utilization_target
Целевое значение метрики, которое autoscaler должен поддерживать. Это должно быть положительное значение. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, для увеличения или уменьшения пропорционально метрике. Например, хорошей метрикой для использования в качестве utilizationTarget является www.googleapis.com/compute/instance/network/received_bytes_count. Autoscaler будет работать, чтобы поддерживать это значение постоянным для каждого из экземпляров.
utilization_target_type
Определяет, как выражается целевое значение использования для метрики Stackdriver Monitoring.

Возможные значения:

  • GAUGE
  • DELTA_PER_SECOND
  • DELTA_PER_MINUTE
filter
(Только бета-версия) Строка фильтра, используемая в качестве строки фильтра для вызова API Stackdriver Monitoring TimeSeries.list. Этот фильтр используется для выбора конкретной TimeSeries для целей автоматического масштабирования и для определения того, экспортирует ли метрика данные на экземпляр или на группу. Можно использовать только оператор AND для объединения селекторов. Можно использовать только оператор прямого сравнения (=) без каких-либо функций для каждого селектора. Вы можете указать метрику как в строке фильтра, так и в поле метрики. Однако, если она указана в обоих местах, метрика должна быть идентичной. Тип контролируемого ресурса определяет ожидаемые значения для метрики. Если это gce_instance, autoscaler ожидает, что метрика будет содержать отдельные TimeSeries для каждого экземпляра в группе. В таком случае вы не можете фильтровать по меткам ресурсов. Если тип ресурса — любое другое значение, autoscaler ожидает, что эта метрика будет содержать значения, применимые к всей масштабируемой группе экземпляров, и можно выполнить фильтрацию по меткам ресурсов, чтобы направить autoscaler на правильную TimeSeries для масштабирования. Это называется метрикой группы для целей автоматического масштабирования. Если не указано, тип по умолчанию равен gce_instance. Вы должны указать фильтр, достаточно избирательный, чтобы выбрать только одну TimeSeries для масштабируемой группы или для каждого из экземпляров (если вы используете тип ресурса gce_instance). Если при выполнении запроса возвращается несколько TimeSeries, autoscaler суммирует их соответствующие значения, чтобы получить значение масштабирования.
load_balancing_utilization
Параметры конфигурации autoscaling на основе балансировщика нагрузки.
utilization_target
Доля использования пропускной способности бэкенда (указанная в конфигурации балансировки HTTP(s)), которую autoscaler должен поддерживать. Должно быть положительным числовым значением с плавающей точкой. Если не определено, значение по умолчанию — 0,8.
target
URL управляемой группы экземпляров, которую будет масштабировать этот autoscaler.
zone
URL зоны, в которой находится группа экземпляров.

Разрешения GCP

Убедитесь, что для текущего проекта включен API Compute Engine Compute Engine API.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_compute_autoscaler/

Spec-Zone.ru

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