Spec-Zone.ru › Ansible 2.8

gcp_compute_instance_group_manager – Создаёт управляемую группу виртуальных машин GCP

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

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

Описание

  • Создаёт управляемую группу виртуальных машин с указанными в запросе параметрами. После создания группы запускается действие для создания экземпляров в группе с использованием указанной шаблона экземпляра. Данная операция отмечается как завершённая (DONE), когда группа создана, даже если экземпляры в группе ещё не созданы. Необходимо отдельно проверить состояние отдельных экземпляров.
  • Управляемая группа виртуальных машин может содержать до 1000 ВМ на группу.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
base_instance_name
- / обязательно
Базовое имя экземпляра для использования в этой группе. Длина значения должна быть от 1 до 58 символов. Имена экземпляров образуются путём добавления дефиса и случайной четырёхсимвольной строки к базовому имени экземпляра.
Базовое имя экземпляра должно соответствовать RFC1035.
description
-
Необязательное описание данного ресурса. Укажите это свойство при создании ресурса.
instance_template
- / обязательно
Шаблон экземпляра, указанный для этой управляемой группы виртуальных машин. Группа использует этот шаблон для создания всех новых экземпляров в управляемой группе виртуальных машин.
Это поле представляет ссылку на ресурс InstanceTemplate в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, можно добавить `register: имя-ресурса` в задачу gcp_compute_instance_template и установить это поле instance_template на "{{ имя-ресурса }}"
name
- / обязательно
Имя управляемой группы виртуальных машин. Длина имени должна быть от 1 до 63 символов, и оно должно соответствовать RFC1035.
named_ports
-
Настраиваемые имена портов для групп экземпляров, дополнительных к этой управляемой группе экземпляров.
name
-
Имя для этого имени порта. Длина имени должна быть от 1 до 63 символов, и оно должно соответствовать RFC1035.
port
-
Номер порта, значение которого может быть от 1 до 65535.
project
строка
Проект Google Cloud Platform для использования.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи службы.
Не следует передавать это как словарь, а строку, содержащую точное содержимое файла JSON учетной записи службы (корректный JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если тип выбран как serviceaccount.
state
-
    Варианты:
  • present ←
  • absent
Требуется ли наличие данного объекта в GCP
target_pools
-
Ресурсы TargetPool, к которым добавляются экземпляры в поле instanceGroup. Целевые пулы автоматически применяются ко всем экземплярам в управляемой группе экземпляров.
target_size
-
Целевое количество работающих экземпляров для этой управляемой группы виртуальных машин. Удаление или отказ от экземпляров уменьшает это число. Изменение размера группы изменяет это число.
zone
- / обязательно
Зона расположения управляемой группы виртуальных машин.

Примечания

Примечание

  • Для аутентификации можно установить service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно установить service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно установить 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-west1
    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: test_object
    base_instance_name: test1-child
    instance_template: "{{ instancetemplate }}"
    target_size: 3
    zone: us-west1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
baseInstanceName
строка
успешно
Базовое имя экземпляра для использования в этой группе. Значение должно быть длиной от 1 до 58 символов. Имена экземпляров образуются путем добавления дефиса и случайной четырёхсимвольной строки к базовому имени экземпляра.
Базовое имя экземпляра должно соответствовать RFC1035.

creationTimestamp
строка
успешно
Маркер времени создания этой управляемой группы экземпляров в формате RFC3339.

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

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

creating
целое число
успешно
Количество экземпляров в управляемой группе экземпляров, запланированных для создания или создаваемых в настоящее время. Если группе не удается создать какой-либо из этих экземпляров, она пытается снова, пока экземпляр не будет успешно создан.
Если повторные попытки создания отключены, это поле не будет заполнено; вместо этого будет заполнено поле creatingWithoutRetries.

creatingWithoutRetries
целое число
успешно
Количество экземпляров, которые управляемая группа экземпляров попытается создать. Группа пытается создать каждый экземпляр только один раз. Если группе не удается создать какой-либо из этих экземпляров, она уменьшает значение targetSize группы соответственно.

deleting
целое число
успешно
Количество экземпляров в управляемой группе экземпляров, запланированных для удаления или удаляемых в настоящее время.

none
целое число
успешно
Количество экземпляров в управляемой группе экземпляров, которые работают и не имеют запланированных действий.

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

refreshing
целое число
успешно
Количество экземпляров в управляемой группе экземпляров, которые переконфигурируются с параметрами, не требующими перезагрузки или повторного создания. Например, установка или удаление целевых пулов для экземпляра.

restarting
целое число
успешно
Количество экземпляров в управляемой группе экземпляров, запланированных для перезагрузки или перезагружаемых в настоящее время.

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

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

instanceGroup
словарь
успешно
Управляемая группа экземпляров.

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

name
строка
успешно
Имя управляемой группы экземпляров. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035.

namedPorts
сложное
успешно
Настроенные именованные порты для групп экземпляров, дополняющих эту управляемую группу экземпляров.

name
строка
успешно
Имя этого именованного порта. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035.

port
целое число
успешно
Номер порта, который может быть значением от 1 до 65535.

region
строка
успешно
Регион, в котором находится эта управляемая группа экземпляров (для региональных ресурсов).

targetPools
список
успешно
Ресурсы TargetPool, к которым добавляются экземпляры в поле instanceGroup. Целевые пулы автоматически применяются ко всем экземплярам в управляемой группе экземпляров.

targetSize
целое число
успешно
Целевое количество работающих экземпляров для этой управляемой группы экземпляров. Удаление или удаление экземпляров уменьшает это число. Изменение размера группы изменяет это число.

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



Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.8/modules/gcp_compute_instance_group_manager_module.html

Spec-Zone.ru

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