Spec-Zone.ru › Ansible 2.10

google.cloud.gcp_compute_autoscaler – Создаёт масштабируемую группу GCP

Примечание

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

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

Для использования в плейбуке укажите: google.cloud.gcp_compute_autoscaler.

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

Описание

  • Представляет собой ресурс 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 секунд.
Время инициализации виртуальных машин может варьироваться из-за многих факторов. Рекомендуется проверить, сколько времени может потребоваться для инициализации экземпляра. Для этого создайте экземпляр и замерьте процесс запуска.

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

Псевдонимы: target
custom_metric_utilizations
список / элементы=словарь
Параметры конфигурации автоматического масштабирования на основе пользовательской метрики.

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

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

Псевдонимы: target
utilization_target_type
строка
Определяет, как выражается целевое значение использования для метрики мониторинга Stackdriver.
Некоторые допустимые значения: "GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"

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

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

Псевдонимы: maxReplicas
min_num_replicas
целое число
Минимальное количество реплик, до которого может уменьшаться масштабируемая группа. Не может быть меньше 0. Если не указано, масштабируемая группа выберет значение по умолчанию в зависимости от максимального разрешенного количества экземпляров.

Псевдонимы: minReplicas
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, который нужно использовать.
scopes
список / элементы=строка
Массив областей, которые необходимо использовать.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, которая его представляет.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
строка
    Варианты:
  • present ←
  • absent
Определяет, должен ли данный объект существовать в GCP.
target
словарь / обязательно
URL управляемой группы экземпляров, которую будет масштабировать этот Autoscaler.
Это поле представляет собой ссылку на ресурс InstanceGroupManager в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Либо вы можете добавить `register: имя-ресурса` к задаче gcp_compute_instance_group_manager и затем установить это поле target в "{{ имя-ресурса }}"
zone
строка / обязательно
URL зоны, в которой расположена группа экземпляров.

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/autoscalers
  • Группы автоматического масштабирования виртуальных машин: 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.
  • Значения переменных среды будут использоваться только в том случае, если значения в 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 instance group manager
  google.cloud.gcp_compute_instance_group_manager:
    name: "{{ resource_name }}"
    base_instance_name: test1-child
    instance_template: "{{ instancetemplate }}"
    target_size: 3
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: igm

- name: create a autoscaler
  google.cloud.gcp_compute_autoscaler:
    name: test_object
    zone: us-central1-a
    target: "{{ igm }}"
    autoscaling_policy:
      max_num_replicas: 5
      min_num_replicas: 1
      cool_down_period_sec: 60
      cpu_utilization:
        utilization_target: 0.5
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое Описание
autoscalingPolicy
complex
успешно
Параметры конфигурации алгоритма автоматического масштабирования. Можно задать один или несколько политик для автоматического масштабирования: cpuUtilization, customMetricUtilizations и loadBalancingUtilization.
Если ни один из них не указан, по умолчанию будет выполнено автоматическое масштабирование на основе cpuUtilization до 0,6 или 60%.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

zone
строка
успешно
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_autoscaler_module.html

Spec-Zone.ru

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