Spec-Zone.ru › Ansible

Модуль 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

строка / обязательно

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

Выбори:

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

autoscaling_policy

словарь / обязательно

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

Если ни одна из этих политик не указана, по умолчанию автомасштабирование будет происходить на основе cpuUtilization с значением 0,6 (60%).

cool_down_period_sec

целое число

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

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

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

cpu_utilization

словарь

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

predictive_method

строка

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

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

По умолчанию: "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

строка

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

Некоторые допустимые значения: «ВЫКЛ», «ТОЛЬКО_ВВЕРХ», «ВКЛ»

По умолчанию: "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

список / элементы=строка

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

service_account_contents

jsonarg

Содержание файла JSON учетной записи службы, либо в виде словаря, либо в виде строки JSON, его представляющей.

service_account_email

строка

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

service_account_file

путь

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

state

строка

Требуется ли создание указанного объекта в GCP

Варианты:

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

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 (по умолчанию). Не используется ни один прогнозный метод. Автомасштабировщик масштабирует группу для удовлетворения текущего спроса на основе метрик в реальном времени.

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

Возвращается: 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

Авторы

  • Google Inc. (@googlecloudplatform)

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

  • Система отслеживания ошибок
  • Главная страница
  • Репозиторий (источники)

© 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

Spec-Zone.ru

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