gcp_compute_instance_group_manager - Создаёт GCP InstanceGroupManager
Новое в версии 2.6.
Обзор
- Создаёт управляемую группу виртуальных машин (Instance Group) используя предоставленную в запросе информацию. После создания группы, планируется действие для создания виртуальных машин в группе, используя указанную шаблонную виртуальную машину (Instance Template). Данная операция отмечается как выполнена (DONE), когда группа создана, даже если виртуальные машины в группе ещё не были созданы. Вам необходимо отдельно проверить статус отдельных виртуальных машин.
- Управляемая группа виртуальных машин может содержать до 1000 виртуальных машин на группу.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind обязательно |
| Тип используемых учетных данных. | |
| base_instance_name обязательно | Базовое имя виртуальной машины для использования в данной группе. Значение должно быть длиной от 1 до 58 символов. Имя виртуальной машины формируется путём добавления тире и четырёх случайных символов к базовому имени. Базовое имя виртуальной машины должно соответствовать RFC1035. | ||
| description | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| instance_template обязательно | Ссылка на ресурс InstanceTemplate. | ||
| name обязательно | Имя управляемой группы виртуальных машин. Длина имени должна быть от 1 до 63 символов, и соответствовать RFC1035. | ||
| named_ports | Настроенные имена портов для групп виртуальных машин, дополняющих эту группу управляемых виртуальных машин. | ||
| name | Имя для этого имени порта. Длина имени должна быть от 1 до 63 символов, и соответствовать RFC1035. | ||
| port | Номер порта, значение которого может быть от 1 до 65535. | ||
| project | Проект Google Cloud Platform для использования. | ||
| scopes обязательно | Массив используемых областей. | ||
| service_account_email | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. | ||
| service_account_file | Путь к файлу JSON учетной записи службы, если в качестве типа выбрано serviceaccount. | ||
| state обязательно |
| Требуется ли существование данного объекта в GCP | |
| target_pools | Ресурсы TargetPool, к которым добавляются виртуальные машины в поле instanceGroup. Целевые пулы автоматически применяются ко всем виртуальным машинам в управляемой группе виртуальных машин. | ||
| target_size | Целевое количество работающих виртуальных машин для данной управляемой группы виртуальных машин. Удаление или отказ от виртуальных машин уменьшает это число. Изменение размера группы изменяет это число. | ||
| zone обязательно | Ссылка на ресурс Zone. | ||
Примечания
Примечание
- Для аутентификации можно установить service_account_file используя переменную среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить 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
gcp_compute_network:
name: 'network-instancetemplate'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
state: present
register: instancetemplate
- name: create a instance group manager
gcp_compute_instance_group_manager:
name: testObject
base_instance_name: 'test1-child'
instance_template: "{{ instancetemplate }}"
target_size: 3
zone: 'us-west1-a'
project: testProject
auth_kind: service_account
service_account_file: /tmp/auth.pem
scopes:
- https://www.googleapis.com/auth/compute
state: present
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| base_instance_name str | успешно | Имя базового экземпляра, используемое для экземпляров в этой группе. Значение должно быть длиной от 1 до 58 символов. Имена экземпляров образуются путем добавления тире и случайной четырехсимвольной строки к имени базового экземпляра. Имя базового экземпляра должно соответствовать RFC1035. | |
| creation_timestamp str | успешно | Отметка времени создания этой управляемой группы экземпляров в формате RFC3339. | |
| current_actions complex | успешно | Список действий над экземплярами и количество экземпляров в этой управляемой группе экземпляров, запланированных для каждого из этих действий. | |
| abandoning int | успешно | Общее количество экземпляров в управляемой группе экземпляров, запланированных для отмены. Отмена экземпляра удаляет его из управляемой группы экземпляров без удаления самого экземпляра. | |
| creating int | успешно | Количество экземпляров в управляемой группе экземпляров, которые запланированы для создания или в настоящее время создаются. Если группе не удается создать какой-либо из этих экземпляров, она пытается снова, пока экземпляр не будет создан успешно. Если повторные попытки создания отключены, это поле не будет заполняться; вместо этого будет заполняться поле creatingWithoutRetries. | |
| creating_without_retries int | успешно | Количество экземпляров, которые управляемая группа экземпляров попытается создать. Группа пытается создать каждый экземпляр только один раз. Если группе не удается создать какой-либо из этих экземпляров, она уменьшает значение targetSize группы соответственно. | |
| deleting int | успешно | Количество экземпляров в управляемой группе экземпляров, которые запланированы для удаления или в настоящее время удаляются. | |
| none int | успешно | Количество экземпляров в управляемой группе экземпляров, которые работают и не имеют запланированных действий. | |
| recreating int | успешно | Количество экземпляров в управляемой группе экземпляров, которые запланированы для пересоздания или в настоящее время пересоздаются. При пересоздании экземпляра удаляется существующий корневой постоянный диск и создается новый диск из образа, определенного в шаблоне экземпляра. | |
| refreshing int | успешно | Количество экземпляров в управляемой группе экземпляров, которые перенастраиваются с помощью свойств, не требующих перезапуска или пересоздания. Например, установка или удаление целевых пулов для экземпляра. | |
| restarting int | успешно | Количество экземпляров в управляемой группе экземпляров, которые запланированы для перезапуска или в настоящее время перезапускаются. | |
| description str | успешно | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| id int | успешно | Уникальный идентификатор этого ресурса. | |
| instance_group dict | успешно | Ссылка на ресурс InstanceGroup. | |
| instance_template dict | успешно | Ссылка на ресурс InstanceTemplate. | |
| name str | успешно | Имя управляемой группы экземпляров. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. | |
| named_ports complex | успешно | Назначенные порты, настроенные для групп экземпляров, дополняющих эту группу менеджера экземпляров. | |
| name str | успешно | Имя этого назначенного порта. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. | |
| port int | успешно | Номер порта, который может быть значением от 1 до 65535. | |
| region str | успешно | Ссылка на ресурс Region. | |
| target_pools list | успешно | Ресурсы TargetPool, к которым добавляются экземпляры в поле instanceGroup. Целевые пулы автоматически применяются ко всем экземплярам в управляемой группе экземпляров. | |
| target_size int | успешно | Целевое количество работающих экземпляров для этой управляемой группы экземпляров. Удаление или отмена экземпляров уменьшает это число. Изменение размера группы изменяет это число. | |
| zone str | успешно | Ссылка на ресурс Zone. | |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Более подробную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом 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.6/modules/gcp_compute_instance_group_manager_module.html