Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_region_autoscaler — создание RegionAutoscaler в GCP

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем требуются дополнительные компоненты. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_region_autoscaler.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Представляет ресурс Autoscaler.
  • Автомасштабирование позволяет автоматически масштабировать виртуальные машины в управляемых группах экземпляров в соответствии с заданной политикой автомасштабирования.

Требования

На узле, выполняющем этот модуль, должны быть установлены перечисленные ниже компоненты.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если выбран тип учётных данных accesstoken.

auth_kind

string / обязательный

Тип используемых учётных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

autoscaling_policy

dictionary / обязательный

Параметры настройки алгоритма автомасштабирования. Для автоскейлера можно задать одну или несколько политик: cpuUtilization, customMetricUtilizations и loadBalancingUtilization.

Если не указана ни одна из этих политик, по умолчанию автомасштабирование выполняется на основе cpuUtilization со значением 0.6, или 60 %.

cool_down_period_sec

integer

Количество секунд, которое автоскейлер должен ждать перед началом сбора данных с нового экземпляра. Это предотвращает сбор данных во время инициализации экземпляра, когда полученные показатели использования ненадёжны. По умолчанию автоскейлер ждёт 60 секунд.

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

По умолчанию: 60

cpu_utilization

dictionary

Определяет политику использования ЦП, которая позволяет автоскейлеру масштабировать управляемую группу экземпляров на основе среднего использования ЦП.

predictive_method

string

Указывает, включено ли прогнозное автомасштабирование на основе показателя ЦП. Допустимые значения: - NONE (по умолчанию). Прогнозный метод не используется. Автоскейлер масштабирует группу для удовлетворения текущего спроса, опираясь на метрики в реальном времени.

- OPTIMIZE_AVAILABILITY. Прогнозное автомасштабирование повышает доступность, отслеживая ежедневные и еженедельные закономерности нагрузки и увеличивая масштаб до ожидаемого роста спроса.

По умолчанию: "NONE"

utilization_target

string

Целевое использование ЦП, которое должен поддерживать автоскейлер.

Должно быть числом с плавающей точкой в диапазоне (0, 1]. Если значение не указано, по умолчанию используется 0.6.

Если уровень использования ЦП ниже целевого, автоскейлер уменьшает количество экземпляров, пока не достигнет указанного минимального количества экземпляров или пока среднее использование ЦП экземплярами не достигнет целевого значения.

Если среднее использование ЦП выше целевого, автоскейлер увеличивает количество экземпляров, пока не достигнет указанного максимального количества экземпляров или пока среднее использование не достигнет целевого значения.

custom_metric_utilizations

list / elements=dictionary

Параметры настройки автомасштабирования на основе пользовательской метрики.

metric

string / обязательный

Идентификатор (тип) метрики Stackdriver Monitoring.

Значение метрики не может быть отрицательным.

Тип значения метрики должен быть INT64 или DOUBLE.

utilization_target

string

Целевое значение метрики, которое должен поддерживать автоскейлер. Значение должно быть положительным. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, пропорционально увеличивая или уменьшая его в соответствии со значением метрики.

Например, в качестве utilizationTarget можно использовать метрику www.googleapis.com/compute/instance/network/received_bytes_count.

Автоскейлер будет поддерживать постоянное значение этой метрики для каждого экземпляра.

utilization_target_type

string

Определяет формат задания целевого значения для метрики Stackdriver Monitoring.

Допустимые варианты: «GAUGE», «DELTA_PER_SECOND», «DELTA_PER_MINUTE»

load_balancing_utilization

dictionary

Параметры настройки автомасштабирования на основе балансировщика нагрузки.

utilization_target

string

Доля использования ёмкости серверной части (задаётся в конфигурации балансировки нагрузки HTTP(S)), которую должен поддерживать автоскейлер. Должна быть положительным числом с плавающей точкой. Если значение не задано, по умолчанию используется 0.8.

max_num_replicas

integer / обязательный

Максимальное количество экземпляров, до которого автоскейлер может увеличить масштаб. Параметр обязателен при создании или обновлении автоскейлера. Максимальное количество реплик не должно быть меньше минимального.

min_num_replicas

integer

Минимальное количество реплик, до которого автоскейлер может уменьшить масштаб. Значение не может быть меньше 0. Если параметр не задан, автоскейлер выберет значение по умолчанию в зависимости от допустимого максимального количества экземпляров.

mode

string

Определяет режим работы этой политики.

Допустимые варианты: «OFF», «ONLY_UP», «ON»

По умолчанию: "ON"

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

list / elements=string

Массив используемых областей доступа

service_account_contents

jsonarg

Содержимое JSON-файла сервисного аккаунта в виде словаря или JSON-строки, представляющей этот словарь.

service_account_email

string

Необязательный адрес электронной почты сервисного аккаунта, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.

service_account_file

path

Путь к JSON-файлу сервисного аккаунта, если в качестве типа выбран serviceaccount.

state

string

Должен ли указанный объект существовать в GCP

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

target

string / обязательный

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.
  • Значения переменных среды используются только в том случае, если значения не заданы в плейбуке.
  • Параметры 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%.

Возвращается: при успешном выполнении

coolDownPeriodSec

integer

Количество секунд, которое автомасштабировщик должен подождать, прежде чем начать собирать информацию о новом экземпляре. Это предотвращает сбор информации во время инициализации экземпляра, когда собранные данные об использовании ресурсов ненадёжны. По умолчанию автомасштабировщик ожидает 60 секунд.

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

Возвращается: при успешном выполнении

cpuUtilization

complex

Определяет политику использования ЦП, позволяющую автомасштабировщику масштабировать группу управляемых экземпляров на основе среднего использования ЦП.

Возвращается: при успешном выполнении

predictiveMethod

string

Указывает, включено ли прогнозное автомасштабирование на основе метрики ЦП. Допустимые значения: - NONE (по умолчанию). Прогнозный метод не используется. Автомасштабировщик масштабирует группу для удовлетворения текущего спроса на основе метрик в реальном времени.

- OPTIMIZE_AVAILABILITY. Прогнозное автомасштабирование повышает доступность, отслеживая ежедневные и еженедельные закономерности нагрузки и заранее масштабируя систему перед ожидаемым увеличением спроса.

Возвращается: при успешном выполнении

utilizationTarget

string

Целевой уровень использования ЦП, который должен поддерживать автомасштабировщик.

Значение должно быть числом с плавающей запятой в диапазоне (0, 1]. Если значение не указано, по умолчанию используется 0.6.

Если уровень использования ЦП ниже целевого, автомасштабировщик уменьшает количество экземпляров, пока не достигнет указанного вами минимального количества экземпляров или пока средний уровень использования ЦП экземплярами не достигнет целевого значения.

Если средний уровень использования ЦП выше целевого, автомасштабировщик увеличивает количество экземпляров, пока не достигнет указанного вами максимального количества экземпляров или пока средний уровень использования не достигнет целевого значения.

Возвращается: при успешном выполнении

customMetricUtilizations

complex

Параметры конфигурации автомасштабирования на основе пользовательской метрики.

Возвращается: при успешном выполнении

metric

string

Идентификатор (тип) метрики Stackdriver Monitoring.

Метрика не может иметь отрицательные значения.

Тип значения метрики должен быть INT64 или DOUBLE.

Возвращается: при успешном выполнении

utilizationTarget

string

Целевое значение метрики, которое должен поддерживать автомасштабировщик. Оно должно быть положительным. Метрика использования ресурсов масштабирует количество виртуальных машин, обрабатывающих запросы, пропорционально увеличивая или уменьшая его в соответствии со значением метрики.

Например, в качестве utilizationTarget можно использовать метрику www.googleapis.com/compute/instance/network/received_bytes_count.

Автомасштабировщик будет поддерживать постоянное значение этой метрики для каждого экземпляра.

Возвращается: при успешном выполнении

utilizationTargetType

string

Определяет способ представления целевого значения использования ресурсов для метрики Stackdriver Monitoring.

Возвращается: при успешном выполнении

loadBalancingUtilization

complex

Параметры конфигурации автомасштабирования на основе балансировщика нагрузки.

Возвращается: при успешном выполнении

utilizationTarget

string

Доля использования ёмкости серверной части (задаётся в конфигурации балансировки нагрузки HTTP(S)), которую должен поддерживать автомасштабировщик. Должна быть положительным числом с плавающей запятой. Если значение не задано, по умолчанию используется 0.8.

Возвращается: при успешном выполнении

maxNumReplicas

integer

Максимальное количество экземпляров, до которого автомасштабировщик может увеличить группу. Этот параметр необходимо указать при создании или обновлении автомасштабировщика. Максимальное количество реплик не должно быть меньше минимального.

Возвращается: при успешном выполнении

minNumReplicas

integer

Минимальное количество реплик, до которого автомасштабировщик может уменьшить группу. Значение не может быть меньше 0. Если параметр не указан, автомасштабировщик выберет значение по умолчанию в зависимости от допустимого максимального количества экземпляров.

Возвращается: при успешном выполнении

mode

string

Определяет режим работы этой политики.

Возвращается: при успешном выполнении

scaleInControl

complex

Определяет параметры управления уменьшением масштаба, чтобы снизить риск увеличения задержки ответа и сбоев из-за резкого уменьшения масштаба.

Возвращается: при успешном выполнении

maxScaledInReplicas

complex

Вложенный объект ресурса.

Возвращается: при успешном выполнении

fixed

integer

Задаёт фиксированное количество экземпляров ВМ. Должно быть положительным целым числом.

Возвращается: при успешном выполнении

percent

integer

Задаёт процент экземпляров в диапазоне от 0 до 100 включительно.

Например, укажите 80 для 80%.

Возвращается: при успешном выполнении

timeWindowSec

integer

Период, за который автомасштабировщик учитывает данные при вычислении рекомендаций, включая описанные выше указания по более медленному уменьшению масштаба.

Возвращается: при успешном выполнении

creationTimestamp

string

Время создания в текстовом формате RFC3339.

Возвращается: при успешном выполнении

description

string

Необязательное описание этого ресурса.

Возвращается: при успешном выполнении

id

integer

Уникальный идентификатор ресурса.

Возвращается: при успешном выполнении

name

string

Имя ресурса. Имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой; последний символ не может быть дефисом.

Возвращается: при успешном выполнении

region

string

URL региона, в котором находится группа экземпляров.

Возвращается: при успешном выполнении

target

string

URL группы управляемых экземпляров, масштабируемой этим автомасштабировщиком.

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_region_autoscaler_module.html

Spec-Zone.ru

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