Модуль google.cloud.gcp_compute_region_autoscaler — Создаёт GCP RegionAutoscaler
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.4.1).
Эта коллекция, возможно, уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.
Для использования в playbook укажите: google.cloud.gcp_compute_region_autoscaler.
Описание
- Представляет ресурс Autoscaler.
- Autoscalers позволяют автоматически масштабировать виртуальные машины в группах управляемых виртуальных машин в соответствии с определённой политикой автоматического масштабирования.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token строка | Токен доступа OAuth2, если тип аутентификации — accesstoken. |
auth_kind строка / обязательно | Тип используемых учетных данных. Выбори:
|
autoscaling_policy словарь / обязательно | Параметры конфигурации алгоритма автоматического масштабирования. Можно определить один или несколько политик для автомасштабирования: cpuUtilization, customMetricUtilizations и loadBalancingUtilization. Если ни одна из этих политик не указана, по умолчанию автомасштабирование будет происходить на основе cpuUtilization с значением 0,6 (60%). |
|
cool_down_period_sec целое число |
Количество секунд, которое автомасштабировщик должен ждать, прежде чем начать сбор информации с нового экземпляра. Это предотвращает сбор информации во время инициализации экземпляра, когда собранные данные будут ненадежны. По умолчанию автомасштабировщик ждет 60 секунд. Время инициализации виртуальных машин может меняться из-за множества факторов. Рекомендуется протестировать время, которое занимает инициализация экземпляра. Для этого создайте экземпляр и замерьте время запуска. По умолчанию: |
|
cpu_utilization словарь |
Определяет политику использования ЦП, которая позволяет автомасштабировщику масштабироваться на основе среднего использования ЦП группы управляемых экземпляров. |
|
predictive_method строка |
Указывает, включено ли предсказательное автомасштабирование на основе метрики ЦП. Допустимые значения: - NONE (по умолчанию). Предсказательный метод не используется. Автомасштабировщик масштабирует группу для удовлетворения текущего спроса на основе метрик в реальном времени.
По умолчанию: |
|
utilization_target строка |
Целевое использование ЦП, которое должен поддерживать автомасштабировщик. Должно быть числом с плавающей точкой в диапазоне (0, 1]. Если не указано, по умолчанию значение 0,6. Если уровень ЦП ниже целевого использования, автомасштабировщик уменьшает количество экземпляров, пока не достигнет минимального количества экземпляров, указанного вами, или пока средний уровень ЦП ваших экземпляров не достигнет целевого использования. Если средний уровень ЦП выше целевого использования, автомасштабировщик увеличивает количество экземпляров, пока не достигнет максимального количества экземпляров, указанного вами, или пока среднее использование не достигнет целевого значения. |
|
custom_metric_utilizations список / элементы=словарь |
Параметры конфигурации автомасштабирования на основе пользовательской метрики. |
|
metric строка / обязательно |
Идентификатор (тип) метрики мониторинга Stackdriver. Метрика не может иметь отрицательных значений. Метрика должна иметь тип значения INT64 или DOUBLE. |
|
utilization_target строка |
Целевое значение метрики, которое автомасштабировщик должен поддерживать. Это значение должно быть положительным. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, пропорционально метрике. Например, хорошей метрикой для использования в качестве utilizationTarget является www.googleapis.com/compute/instance/network/received_bytes_count. Автомасштабировщик будет стараться поддерживать это значение постоянным для каждого экземпляра. |
|
utilization_target_type строка |
Определяет, как выражается целевое значение использования для метрики мониторинга Stackdriver. Некоторые допустимые значения: «GAUGE», «DELTA_PER_SECOND», «DELTA_PER_MINUTE» |
|
load_balancing_utilization словарь |
Параметры конфигурации автомасштабирования на основе балансировщика нагрузки. |
|
utilization_target строка |
Доля использования ресурсов бэкенда (установленная в конфигурации балансировки HTTP(s)) которую автомасштабировщик должен поддерживать. Должно быть положительным значением с плавающей точкой. Если не определено, по умолчанию 0,8. |
|
max_num_replicas целое число / обязательно |
Максимальное количество экземпляров, до которого автомасштабировщик может масштабироваться. Необходимо при создании или обновлении автомасштабировщика. Максимальное количество реплик не должно быть меньше минимального. |
|
min_num_replicas целое число |
Минимальное количество реплик, до которого автомасштабировщик может масштабироваться вниз. Не может быть меньше 0. Если не указано, автомасштабировщик выберет значение по умолчанию в зависимости от максимального количества разрешенных экземпляров. |
|
mode строка |
Определяет режим работы этой политики. Некоторые допустимые значения: «ВЫКЛ», «ТОЛЬКО_ВВЕРХ», «ВКЛ» По умолчанию: |
|
scale_in_control dictionary |
Определяет параметры управления уменьшением масштаба, чтобы снизить риск задержек ответа и сбоев из-за внезапных событий уменьшения масштаба. |
|
max_scaled_in_replicas dictionary |
Вложенный объект ресурса. |
|
fixed integer |
Указывает фиксированное количество виртуальных машин. Это должно быть положительное целое число. |
|
percent integer |
Указывает процент экземпляров от 0 до 100%, включительно. Например, укажите 80 для 80%. |
|
time_window_sec integer |
Время, в течение которого автомасштабирование должно анализировать данные для вычисления рекомендаций, включая директивы, касающиеся более медленного уменьшения масштаба, как описано выше. |
description string | Необязательное описание этого ресурса. |
env_type string | Указывает, в какой среде Ansible запущен этот модуль. Не устанавливайте это значение, если вы не уверены, что знаете, что делаете. Это изменяет только строку User Agent для всех запросов к API. |
name string / обязательно | Имя ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. |
project string | Проект Google Cloud Platform, который следует использовать. |
region string / обязательно | URL региона, в котором находится группа экземпляров. |
scopes список / элементы=строка | Массив используемых областей видимости. |
service_account_contents jsonarg | Содержание файла JSON учетной записи службы, либо в виде словаря, либо в виде строки JSON, его представляющей. |
service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию. |
service_account_file путь | Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран. |
state строка | Требуется ли создание указанного объекта в GCP Варианты:
|
target строка / обязательно | URL управляемой группы экземпляров, масштабирование которой будет осуществляться этим автомасштабированием. |
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/regionAutoscalers
- Группы автомасштабирования экземпляров: https://cloud.google.com/compute/docs/autoscaler/
- для аутентификации можно установить service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - для аутентификации можно установить service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - для аутентификации можно установить access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
- Параметры service_account_email и service_account_file взаимоисключают друг друга.
Примеры
- name: create a network
google.cloud.gcp_compute_network:
name: network-instancetemplate
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a address
google.cloud.gcp_compute_address:
name: address-instancetemplate
region: us-central1
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: address
- name: create a instance template
google.cloud.gcp_compute_instance_template:
name: "{{ resource_name }}"
properties:
disks:
- auto_delete: 'true'
boot: 'true'
initialize_params:
source_image: projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts
machine_type: n1-standard-1
network_interfaces:
- network: "{{ network }}"
access_configs:
- name: test-config
type: ONE_TO_ONE_NAT
nat_ip: "{{ address }}"
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: instancetemplate
- name: create a region instance group manager
google.cloud.gcp_compute_region_instance_group_manager:
name: "{{ resource_name }}"
base_instance_name: test1-child
region: us-central1
instance_template: "{{ instancetemplate }}"
target_size: 3
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: igrm
- name: create a region autoscaler
google.cloud.gcp_compute_region_autoscaler:
name: my-region-autoscaler
region: us-central1
autoscaling_policy:
min_num_replicas: 1
max_num_replicas: 5
cool_down_period_sec: 60
cpu_utilization:
utilization_target: 0.5
target: "{{igrm.selfLink}}"
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
autoscalingPolicy complex | Параметры конфигурации для алгоритма автомасштабирования. Вы можете определить одну или несколько политик для автомасштабировщика: cpuUtilization, customMetricUtilizations и loadBalancingUtilization. Если ни одна из них не указана, по умолчанию будет автомасштабирование на основе cpuUtilization до 0,6 или 60%. Возвращается: success |
|
coolDownPeriodSec integer |
Количество секунд, в течение которых автомасштабировщик должен ждать, прежде чем начнет собирать информацию с нового экземпляра. Это предотвращает сбор автомасштабировщиком информации, когда экземпляр инициализируется, в течение которого собранное использование не будет надежным. Время ожидания автомасштабировщика по умолчанию составляет 60 секунд. Время инициализации виртуальной машины может варьироваться из-за многочисленных факторов. Мы рекомендуем протестировать, сколько времени может потребоваться для инициализации экземпляра. Для этого создайте экземпляр и засеките время процесса запуска. Возвращается: success |
|
cpuUtilization complex |
Определяет политику использования ЦП, которая позволяет автомасштабировщику масштабироваться на основе среднего использования ЦП управляемой группой экземпляров. Возвращается: success |
|
predictiveMethod string |
Указывает, включено ли прогнозное автомасштабирование на основе метрики ЦП. Допустимые значения: - NONE (по умолчанию). Не используется ни один прогнозный метод. Автомасштабировщик масштабирует группу для удовлетворения текущего спроса на основе метрик в реальном времени.
Возвращается: success |
|
utilizationTarget string |
Целевая загрузка ЦП, которую должен поддерживать автомасштабировщик. Должно быть значение с плавающей точкой в диапазоне (0, 1]. Если не указано, значение по умолчанию равно 0,6. Если уровень ЦП ниже целевого использования, автомасштабировщик уменьшает количество экземпляров, пока не достигнет минимального количества экземпляров, указанного вами, или пока среднее использование ЦП ваших экземпляров не достигнет целевого использования. Если среднее значение ЦП выше целевого использования, автомасштабировщик увеличивает его до тех пор, пока не достигнет максимального количества экземпляров, указанного вами, или пока среднее использование не достигнет целевого использования. Возвращается: success |
|
customMetricUtilizations complex |
Параметры конфигурации автомасштабирования на основе пользовательской метрики. Возвращается: success |
|
metric string |
Идентификатор (тип) метрики мониторинга Stackdriver. Метрика не может иметь отрицательных значений. Метрика должна иметь тип значения INT64 или DOUBLE. Возвращается: success |
|
utilizationTarget string |
Целевое значение метрики, которое должен поддерживать автомасштабировщик. Это должно быть положительное значение. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, чтобы увеличивать или уменьшать их пропорционально метрике. Например, хорошей метрикой для использования в качестве utilizationTarget является www.googleapis.com/compute/instance/network/received_bytes_count. Автомасштабировщик будет стремиться поддерживать это значение постоянным для каждого из экземпляров. Возвращается: success |
|
utilizationTargetType string |
Определяет, как выражается целевое значение использования для метрики мониторинга Stackdriver. Возвращается: success |
|
loadBalancingUtilization complex |
Параметры конфигурации автомасштабирования на основе балансировщика нагрузки. Возвращается: success |
|
utilizationTarget string |
Доля использования емкости бэкэнда (установленная в конфигурации балансировки нагрузки HTTP(s)), которую должен поддерживать автомасштабировщик. Должно быть положительное значение с плавающей точкой. Если не определено, значение по умолчанию равно 0,8. Возвращается: success |
|
maxNumReplicas integer |
Максимальное количество экземпляров, до которых может масштабироваться автомасштабировщик. Это необходимо при создании или обновлении автомасштабировщика. Максимальное количество реплик не должно быть меньше минимального количества реплик. Возвращается: success |
|
minNumReplicas integer |
Минимальное количество реплик, до которых может масштабироваться автомасштабировщик. Это не может быть меньше 0. Если не указано, автомасштабировщик выберет значение по умолчанию в зависимости от максимального количества разрешенных экземпляров. Возвращается: success |
|
mode string |
Определяет режим работы для этой политики. Возвращается: success |
|
scaleInControl complex |
Определяет элементы управления масштабированием для снижения риска задержки ответа и перебоев из-за резких событий масштабирования. Возвращается: success |
|
maxScaledInReplicas complex |
Вложенный объект ресурса. Возвращаемое значение: success |
|
fixed целое число |
Указывает фиксированное число виртуальных машин. Это должно быть положительное целое число. Возвращаемое значение: success |
|
percent целое число |
Указывает процент от числа экземпляров в диапазоне от 0 до 100%, включительно. Например, укажите 80 для 80%. Возвращаемое значение: success |
|
timeWindowSec целое число |
Время, за которое автомасштабирование должно анализировать данные при расчёте рекомендаций, включая директивы о замедленном уменьшении масштаба, как описано выше. Возвращаемое значение: success |
creationTimestamp строка | Дата и время создания в формате RFC3339. Возвращаемое значение: success |
description строка | Необязательное описание этого ресурса. Возвращаемое значение: success |
id целое число | Уникальный идентификатор ресурса. Возвращаемое значение: success |
name строка | Имя ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращаемое значение: success |
region строка | URL региона, в котором находится группа экземпляров. Возвращаемое значение: success |
target строка | URL управляемой группы экземпляров, которую будет масштабировать этот автомасштабировщик. Возвращаемое значение: success |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_region_autoscaler_module.html