Spec-Zone.ru › Chef 16

Ресурс google_compute_autoscaler

Синтаксис

Используется google_compute_autoscaler, чтобы протестировать ресурс Google Autoscaler.

Ресурс Beta

Этот ресурс имеет доступные поля beta. Чтобы получить доступ к этим полям, включите 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
Параметры конфигурации алгоритма автоматического масштабирования. Вы можете определить одну или несколько политик для автомасштабирования: cpuUtilization, customMetricUtilizations и loadBalancingUtilization. Если ни одна из них не указана, по умолчанию будет использоваться автомасштабирование на основе cpuUtilization до 0,6 или 60%.
min_num_replicas
Минимальное количество реплик, до которого автомасштабирование может уменьшить масштаб. Не может быть меньше 0. Если не указано, автомасштабирование выберет значение по умолчанию в зависимости от максимального разрешенного количества экземпляров.
max_num_replicas
Максимальное количество экземпляров, до которого автомасштабирование может увеличить масштаб. Требуется при создании или обновлении автомасштабирования. Максимальное количество реплик не должно быть меньше минимального.
cool_down_period_sec
Количество секунд, которое автомасштабирование должно ждать, прежде чем начать сбор информации с нового экземпляра. Это предотвращает автомасштабирование от сбора информации во время инициализации экземпляра, в ходе которой собранная информация будет ненадежной. Время ожидания автомасштабирования по умолчанию составляет 60 секунд. Время инициализации виртуальных машин может варьироваться из-за множества факторов. Рекомендуется протестировать, сколько времени может потребоваться для инициализации экземпляра. Для этого создайте экземпляр и замерьте процесс запуска.
cpu_utilization
Определяет политику использования ЦП, которая позволяет автомасштабированию масштабироваться на основе среднего использования ЦП группой управляемых экземпляров.
utilization_target
Целевое использование ЦП, которое должно поддерживать автомасштабирование. Должно быть числовым значением с плавающей точкой в диапазоне (0, 1]. Если не указано, по умолчанию является 0,6. Если уровень ЦП ниже целевого использования, автомасштабирование уменьшает количество экземпляров, пока не достигнет минимального количества экземпляров, которое вы указали, или пока средний уровень ЦП ваших экземпляров не достигнет целевого использования. Если среднее использование ЦП выше целевого, автомасштабирование увеличивает масштаб, пока не достигнет максимального количества экземпляров, которое вы указали, или пока среднее использование не достигнет целевого.
custom_metric_utilizations
Параметры конфигурации автомасштабирования на основе настраиваемого метрического показателя.
metric
Идентификатор (тип) метрики Stackdriver Monitoring. Метрика не может иметь отрицательных значений. Тип значения метрики должен быть INT64 или DOUBLE.
single_instance_assignment
(Только Beta) Если масштабирование основано на значении метрики на группу, которое представляет собой общее количество работы или использование ресурсов, установите это значение на величину, назначенную для одного экземпляра масштабируемой группы. Автомасштабирование будет поддерживать количество экземпляров пропорционально значению этой метрики, сама метрика не должна менять значение из-за изменения размера группы. Например, подходящая метрика для использования с целевым значением — pubsub.googleapis.com/subscription/num_undelivered_messages, или настраиваемая метрика, экспортирующая общее количество запросов, поступающих на ваши экземпляры. Плохой пример — метрика, экспортирующая среднюю или медианную задержку, так как это значение не может включать часть, присваиваемую одному экземпляру, оно может быть лучше использовано с utilization_target.
utilization_target
Целевое значение метрики, которое автомасштабирование должно поддерживать. Должно быть положительным значением. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, для увеличения или уменьшения пропорционально метрике. Например, хорошей метрикой для использования в качестве utilizationTarget является www.googleapis.com/compute/instance/network/received_bytes_count. Автомасштабирование будет работать, чтобы поддерживать это значение постоянным для каждого из экземпляров.
utilization_target_type
Определяет, как выражается целевое значение использования для метрики Stackdriver Monitoring.

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

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

Разрешения GCP

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

© 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