Spec-Zone.ru › Ansible

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

Примечание

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

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

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

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

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

Обзор

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

Требования

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

  • 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

псевдонимы: cooldownPeriod

целое число

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

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

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

cpu_utilization

словарь

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

predictive_method

строка

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

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

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

utilization_target

псевдонимы: target

строка

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

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

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

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

custom_metric_utilizations

псевдонимы: metric

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

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

metric

псевдонимы: name

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

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

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

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

utilization_target

псевдонимы: target

строка

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

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

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

utilization_target_type

псевдонимы: type

строка

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

Некоторые допустимые значения: “GAUGE”, “DELTA_PER_SECOND”, “DELTA_PER_MINUTE”

load_balancing_utilization

словарь

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

utilization_target

псевдонимы: target

строка

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

max_num_replicas

псевдонимы: maxReplicas

целое число / обязательно

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

min_num_replicas

aliases: minReplicas

целое число

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

mode

строка

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

Некоторые допустимые значения: “OFF”, “ONLY_UP”, “ON”

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

scale_in_control

словарь

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

max_scaled_in_replicas

словарь

Вложенный ресурс.

fixed

целое число

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

percent

целое число

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

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

time_window_sec

целое число

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

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

строка

Необходимо ли наличие данного объекта в GCP

Варианты:

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

target

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

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

Это поле представляет ссылку на ресурс InstanceGroupManager в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: name-of-resource` к задаче gcp_compute_instance_group_manager, а затем установить это поле target в значение “{{ name-of-resource }}”.

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.
  • для аутентификации можно установить 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 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

сложное

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

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

Возвращаемое значение: success

coolDownPeriodSec

целое число

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

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

Возвращаемое значение: success

cpuUtilization

сложное

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

Возвращаемое значение: success

predictiveMethod

строка

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

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

Возвращаемое значение: success

utilizationTarget

строка

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

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

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

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

Возвращаемое значение: success

customMetricUtilizations

сложное

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

Возвращаемое значение: success

metric

строка

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

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

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

Возвращаемое значение: success

utilizationTarget

строка

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

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

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

Возвращаемое значение: success

utilizationTargetType

строка

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

Возвращаемое значение: success

loadBalancingUtilization

сложное

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

Возвращаемое значение: success

utilizationTarget

строка

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

Возвращаемое значение: success

maxNumReplicas

целое число

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

Возвращаемое значение: success

minNumReplicas

целое число

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

Возвращаемое значение: success

mode

строка

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

Возвращаемое значение: success

scaleInControl

сложное

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

Возвращаемое значение: success

максScaledInReplicas

сложное

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

Возвращено: успешно

fixed

целое число

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

Возвращено: успешно

percent

целое число

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

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

Возвращено: успешно

timeWindowSec

целое число

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

Возвращено: успешно

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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_autoscaler_module.html

Spec-Zone.ru

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