Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_autoscaler — создание автоскейлера GCP

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

auth_kind

string / обязательный

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

Варианты:

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

autoscaling_policy

dictionary / обязательный

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

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

cool_down_period_sec

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

integer

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

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

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

cpu_utilization

dictionary

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

predictive_method

string

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

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

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

utilization_target

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

string

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

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

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

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

custom_metric_utilizations

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

list / элементы=dictionary

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

metric

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

string / обязательный

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

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

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

utilization_target

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

string

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

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

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

utilization_target_type

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

string

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

Допустимые варианты: «GAUGE», «DELTA_PER_SECOND», «DELTA_PER_MINUTE»

load_balancing_utilization

dictionary

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

utilization_target

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

string

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

max_num_replicas

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

integer / обязательный

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

min_num_replicas

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

integer

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

mode

string

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

Допустимые варианты: «OFF», «ONLY_UP», «ON»

По умолчанию: "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, который следует использовать.

scopes

list / элементы=string

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

service_account_contents

jsonarg

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

service_account_email

string

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

service_account_file

path

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

state

string

Должен ли указанный объект существовать в GCP

Варианты:

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

target

dictionary / обязательный

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

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

zone

string / обязательный

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

complex

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

Если ни одна из них не задана, по умолчанию автомасштабирование выполняется на основе cpuUtilization до значения 0.6, или 60%.

Возвращается: при успехе

coolDownPeriodSec

integer

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

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

Возвращается: при успехе

cpuUtilization

complex

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

Возвращается: при успехе

predictiveMethod

string

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

- OPTIMIZE_AVAILABILITY. Прогнозирующее автомасштабирование повышает доступность: отслеживает ежедневные и еженедельные шаблоны нагрузки и заранее увеличивает масштаб с учётом ожидаемого спроса.

Возвращается: при успехе

utilizationTarget

string

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

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

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

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

Возвращается: при успехе

customMetricUtilizations

complex

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

Возвращается: при успехе

metric

string

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

Значение метрики не может быть отрицательным.

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

Возвращается: при успехе

utilizationTarget

string

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

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

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

Возвращается: при успехе

utilizationTargetType

string

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

Возвращается: при успехе

loadBalancingUtilization

complex

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

Возвращается: при успехе

utilizationTarget

string

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

Возвращается: при успехе

maxNumReplicas

integer

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

Возвращается: при успехе

minNumReplicas

integer

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

Возвращается: при успехе

mode

string

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

Возвращается: при успехе

scaleInControl

complex

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

Возвращается: при успехе

maxScaledInReplicas

complex

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

Возвращается: при успехе

fixed

integer

Задаёт фиксированное количество экземпляров виртуальных машин. Значение должно быть положительным целым числом.

Возвращается: при успехе

percent

integer

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

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

Возвращается: при успехе

timeWindowSec

integer

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

Возвращается: при успехе

creationTimestamp

string

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

Возвращается: при успехе

description

string

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

Возвращается: при успехе

id

integer

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

Возвращается: при успехе

name

string

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

Возвращается: при успехе

target

dictionary

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

Возвращается: при успехе

zone

string

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

Возвращается: при успехе

Авторы

  • Google Inc. (@googlecloudplatform)

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

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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