Spec-Zone.ru › Ansible 2.9

gcp_compute_autoscaler – Создаёт балансировщик масштабирования GCP

Новая версия с 2.9.

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

Описание

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

Требования

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

  • 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.
Некоторые допустимые значения включают: "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
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 управляемой группы экземпляров, которую будет масштабировать этот автомасштабировщик.
Это поле представляет ссылку на ресурс 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 с помощью переменной среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents с помощью переменной среды c(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
  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
  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
  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
  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
  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%.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Данный модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • 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.9/modules/gcp_compute_autoscaler_module.html

Spec-Zone.ru

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