Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

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

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
autoscaling_policy
словарь / обязательно
Параметры конфигурации алгоритма автоматического масштабирования. Можно определить одну или несколько политик для автомасштабирования: cpuUtilization, customMetricUtilizations и loadBalancingUtilization.
Если ни одна из этих политик не указана, по умолчанию автомасштабирование будет происходить на основе cpuUtilization до 0,6 или 60%.
cool_down_period_sec
целое число
Значение по умолчанию:
"60"
Количество секунд, которое автомасштабировщик должен ждать, прежде чем начать сбор информации с новой виртуальной машины. Это предотвращает сбор информации автомасштабировщиком, когда виртуальная машина находится в процессе инициализации, во время которой собранные данные использования не будут надёжными. По умолчанию автомасштабировщик ждёт 60 секунд.
Время инициализации виртуальных машин может варьироваться из-за множества факторов. Рекомендуется проверить, сколько времени может потребоваться для инициализации виртуальной машины. Для этого создайте виртуальную машину и замерьте процесс запуска.
cpu_utilization
словарь
Определяет политику использования ЦП, которая позволяет автомасштабировщику масштабироваться на основе среднего использования ЦП управляемой группы виртуальных машин.
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"
Определяет режим работы для этой политики.
Некоторые допустимые значения: "OFF", "ONLY_UP", "ON"
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 учетной записи службы, если выбран тип serviceaccount.
state
строка
    Варианты:
  • present ←
  • absent
Существует ли данный объект в 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.
  • Для аутентификации можно установить 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
integer
success
Количество секунд, которое автоматический масштабировщик должен ждать, прежде чем начать сбор информации с нового экземпляра. Это предотвращает сбор информации автоматическим масштабировщиком, когда экземпляр инициализируется, в течение которого собранные показатели будут ненадёжны. По умолчанию автоматический масштабировщик ждёт 60 секунд.
Время инициализации виртуальных машин может варьироваться из-за множества факторов. Рекомендуется протестировать, сколько времени может потребоваться для инициализации экземпляра. Для этого создайте экземпляр и измерьте время процесса запуска.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Авторы

  • Google Inc. (@googlecloudplatform)

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

Spec-Zone.ru

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