Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_region_autoscaler – Создаёт GCP RegionAutoscaler

Примечание

Этот плагин входит в состав коллекции google.cloud (версия 1.0.2).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Для использования в книге задач укажите: google.cloud.gcp_compute_region_autoscaler.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
autoscaling_policy
словарь / обязательно
Параметры конфигурации алгоритма автоматического масштабирования. Вы можете определить одну или несколько политик для autoscaler: cpuUtilization, customMetricUtilizations и loadBalancingUtilization.
Если ни одна из них не указана, по умолчанию будет производиться автоматическое масштабирование на основе cpuUtilization до 0,6 или 60%.
cool_down_period_sec
целое число
Значение по умолчанию:
"60"
Количество секунд, которое autoscaler должен ждать, прежде чем начать сбор информации с новой машины. Это предотвращает сбор информации autoscaler во время инициализации машины, когда собранные показатели будут ненадежными. По умолчанию autoscaler ждет 60 секунд.
Время инициализации виртуальных машин может варьироваться по многим причинам. Рекомендуется проверить, сколько времени занимает процесс инициализации.
cpu_utilization
словарь
Определяет политику использования ЦП, которая позволяет autoscaler масштабировать количество виртуальных машин в управляемой группе в зависимости от среднего использования ЦП.
utilization_target
строка
Целевое значение использования ЦП, которое autoscaler должен поддерживать.
Должно быть число с плавающей точкой в диапазоне (0, 1]. Если не указано, по умолчанию значение равно 0,6.
Если уровень использования ЦП ниже целевого значения, autoscaler уменьшает количество машин до минимального количества машин, указанного вами, или до тех пор, пока среднее использование ЦП ваших машин не достигнет целевого значения.
Если среднее использование ЦП выше целевого значения, autoscaler увеличивает количество машин до максимального количества машин, указанного вами, или до тех пор, пока среднее использование не достигнет целевого значения.
custom_metric_utilizations
список / элементы=словарь
Параметры конфигурации автоматического масштабирования на основе пользовательского метрики.
metric
строка / обязательно
Идентификатор (тип) метрики мониторинга Stackdriver.
Метрика не может иметь отрицательных значений.
Метрика должна иметь тип значения INT64 или DOUBLE.
utilization_target
строка
Целевое значение метрики, которое autoscaler должен поддерживать. Это должно быть положительное значение. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, для увеличения или уменьшения пропорционально метрике.
Например, хорошей метрикой для использования в качестве utilizationTarget является www.googleapis.com/compute/instance/network/received_bytes_count.
Autoscaler будет работать над поддержанием этого значения постоянным для каждой из машин.
utilization_target_type
строка
Определяет, как выражается целевое значение использования для метрики мониторинга Stackdriver.
Некоторые допустимые значения включают: "GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"
load_balancing_utilization
словарь
Параметры конфигурации автоматического масштабирования на основе балансировщика нагрузки.
utilization_target
строка
Доля использования заднего плана (установленная в конфигурации балансировки HTTP(s)) которую autoscaler должен поддерживать. Должно быть положительным числом с плавающей точкой. Если не определено, значение по умолчанию равно 0,8.
max_num_replicas
целое число / обязательно
Максимальное количество машин, до которого autoscaler может масштабироваться. Это требуется при создании или обновлении autoscaler. Максимальное количество реплик не должно быть меньше минимального количества реплик.
min_num_replicas
целое число
Минимальное количество реплик, до которого autoscaler может масштабироваться вниз. Это не может быть меньше 0. Если не указано, autoscaler выберет значение по умолчанию в зависимости от максимального разрешённого количества машин.
mode
строка
Значение по умолчанию:
"ON"
Определяет режим работы этой политики.
Некоторые допустимые значения включают: "OFF", "ONLY_UP", "ON"
scale_in_control
словарь
Определяет параметры управления масштабированием, чтобы снизить риск задержек отклика и сбоев из-за внезапных событий масштабирования вниз.
max_scaled_in_replicas
словарь
Вложенный ресурс.
fixed
целое число
Указывает фиксированное количество виртуальных машин.
percent
целое число
Указывает процент машин в диапазоне от 0 до 100%, включительно.
Например, укажите 80 для 80%.
time_window_sec
целое число
Сколько времени назад autoscaling должен смотреть при расчете рекомендаций, чтобы учесть директивы о более медленном уменьшении масштаба, как описано выше.
description
строка
Необязательное описание этого ресурса.
env_type
строка
Указывает, в какой среде Ansible выполняется этот модуль.
Это должно быть установлено только если вы знаете, что делаете.
Это изменяет только строку User Agent для любых запросов к API.
name
строка / обязательно
Имя ресурса. Длина имени должна составлять 1-63 символа и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
project
строка
Проект Google Cloud Platform для использования.
region
строка / обязательно
URL региона, в котором расположена группа экземпляров.
scopes
список / элементы=строка
Массив используемых областей
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как JSON-строка, его представляющая.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбрана учетная запись службы.
state
строка
    Варианты:
  • present ←
  • absent
Существует ли заданный объект в GCP
target
строка / обязательно
URL управляемой группы экземпляров, которую будет масштабировать autoscaler.

Примечания

Примечание

  • Ссылка на 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.
  • Для аутентификации можно установить 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
success
Параметры конфигурации алгоритма автоматического масштабирования. Можно определить одну или несколько политик для автомасштабирования: cpuUtilization, customMetricUtilizations и loadBalancingUtilization.
Если ни один из этих параметров не указан, по умолчанию будет происходить автомасштабирование на основе cpuUtilization до 0,6 или 60%.

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

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

utilizationTarget
строка
success
Целевое значение использования ЦП, которое автомасштабировщик должен поддерживать.
Должно быть число с плавающей запятой в диапазоне (0, 1]. Если не указано, значение по умолчанию равно 0,6.
Если уровень ЦП ниже целевого значения использования, автомасштабировщик уменьшает количество экземпляров до минимального числа экземпляров, указанного вами, или до тех пор, пока среднее значение ЦП ваших экземпляров не достигнет целевого значения использования.
Если среднее значение ЦП выше целевого значения использования, автомасштабировщик увеличивает количество экземпляров до максимального числа экземпляров, указанного вами, или до тех пор, пока среднее значение использования не достигнет целевого значения использования.

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

metric
строка
success
Идентификатор (тип) метрики мониторинга Stackdriver.
Метрика не может иметь отрицательные значения.
Тип значения метрики должен быть INT64 или DOUBLE.

utilizationTarget
строка
success
Целевое значение метрики, которое автомасштабировщик должен поддерживать. Это должно быть положительное значение. Метрика использования масштабирует количество виртуальных машин, обрабатывающих запросы, для увеличения или уменьшения пропорционально метрике.
Например, хорошей метрикой для использования в качестве utilizationTarget является www.googleapis.com/compute/instance/network/received_bytes_count.
Автомасштабировщик будет стремиться поддерживать это значение постоянным для каждого из экземпляров.

utilizationTargetType
строка
success
Определяет, как выражается целевое значение использования для метрики мониторинга Stackdriver.

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

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

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

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

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

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

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

fixed
целое число
success
Устанавливает фиксированное количество виртуальных машин. Это должно быть целое положительное число.

percent
целое число
success
Устанавливает процент экземпляров в диапазоне от 0 до 100%, включительно.
Например, укажите 80 для 80%.

timeWindowSec
целое число
success
Сколько времени назад автомасштабирование должно искать при вычислении рекомендаций, чтобы включить указания относительно более медленного уменьшения масштаба, как описано выше.

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

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

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

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

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

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



Авторы

  • Google Inc. (@googlecloudplatform)

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

Spec-Zone.ru

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