gce_mig — Создание, обновление или уничтожение управляемой группы виртуальных машин (MIG).
Новая версия 2.2.
- Описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Создание, обновление или уничтожение управляемой группы виртуальных машин (MIG). См. https://cloud.google.com/compute/docs/instance-groups для общего обзора. Полные инструкции по установке и настройке модулей gce* можно найти в комментариях к файлу ansible/test/gce_tests.py.
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- apache-libcloud >= 1.2.0
Параметры
| параметр | обязательно | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| autoscaling | нет | Словарь настроек для автоматического масштабирования. Поля 'enabled (bool)', 'name (str)' и policy.max_instances (int) обязательны при использовании autoscaling. См. https://cloud.google.com/compute/docs/reference/beta/autoscalers для получения дополнительной информации об автоматическом масштабировании. | ||
| credentials_file | нет | Путь к файлу JSON, связанному с электронным адресом учетной записи службы | ||
| name | да | Имя управляемой группы виртуальных машин. | ||
| named_ports (добавлено в 2.3)
| нет | Определение именованных портов, в которые бэкенд-службы могут пересылать данные. Формат — список словарей name:port. | ||
| project_id | нет | Идентификатор проекта GCE | ||
| service_account_email | нет | Электронный адрес учетной записи службы | ||
| size | нет | Размер управляемой группы виртуальных машин. Если MIG уже существует, он будет изменен на указанное здесь значение. Требуется для создания MIG. | ||
| state | нет | present |
| Желаемое состояние ресурса |
| template | нет | Шаблон виртуальной машины, который будет использоваться при создании ВМ. См. https://cloud.google.com/compute/docs/instance-templates для получения дополнительной информации о шаблонах виртуальных машин. Требуется для создания MIG. | ||
| zone | да | Зона GCE для использования в этой управляемой группе виртуальных машин. |
Примеры
# Following playbook creates, rebuilds instances, resizes and then deletes a MIG.
# Notes:
# - Two valid Instance Templates must exist in your GCE project in order to run
# this playbook. Change the fields to match the templates used in your
# project.
# - The use of the 'pause' module is not required, it is just for convenience.
- name: Managed Instance Group Example
hosts: localhost
gather_facts: False
tasks:
- name: Create MIG
gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: present
size: 1
template: my-instance-template-1
named_ports:
- name: http
port: 80
- name: foobar
port: 82
- name: Pause for 30 seconds
pause:
seconds: 30
- name: Recreate MIG Instances with Instance Template change.
gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: present
template: my-instance-template-2-small
recreate_instances: yes
- name: Pause for 30 seconds
pause:
seconds: 30
- name: Resize MIG
gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: present
size: 3
- name: Update MIG with Autoscaler
gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: present
size: 3
template: my-instance-template-2-small
recreate_instances: yes
autoscaling:
enabled: yes
name: my-autoscaler
policy:
min_instances: 2
max_instances: 5
cool_down_period: 37
cpu_utilization:
target: .39
load_balancing_utilization:
target: 0.4
- name: Pause for 30 seconds
pause:
seconds: 30
- name: Delete MIG
gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: absent
autoscaling:
enabled: no
name: my-autoscaler
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения. Ниже приведены поля, уникальные для этого модуля:
| имя | описание | возвращаемое | тип | пример |
|---|---|---|---|---|
| created_autoscaler | True, если была попытка создания и создания Autoscaler. Иначе — False. | При попытке создания Autoscaler. | bool | True |
| created_instances | Имена созданных экземпляров. | При создании экземпляров. | список | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| deleted_autoscaler | True, если была попытка и удаление Autoscaler завершилось успешно. Если удаление не удалось, возвращается False. | При попытке удаления Autoscaler. | bool | True |
| deleted_instances | Имена удаленных экземпляров. | При удалении экземпляров. | список | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| name | Имя управляемой группы виртуальных машин. | изменён | строка | my-managed-instance-group |
| named_ports | Список изменённых именованных портов | при первоначальной установке или обновлении named_ports | список | [{'name': 'http', 'port': 80}, {'name': 'foo', 'port': 82}] |
| recreated_instances | Имена пересозданных экземпляров. | При пересоздании экземпляров. | список | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| resize_created_instances | Имена экземпляров, созданных во время изменения размера. | При изменении размера, в результате которого создаются экземпляры. | список | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| resize_deleted_instances | Имена экземпляров, удаленных во время изменения размера. | При изменении размера, в результате которого удаляются экземпляры. | список | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| set_named_ports | True, если именованные порты были установлены | именные порты были установлены | bool | True |
| size | Количество ВМ в управляемой группе виртуальных машин. | изменён | целое число | 4 |
| template | Шаблон виртуальной машины, который используется для ВМ. Должен существовать до использования с MIG. | изменён | строка | my-instance-template |
| updated_autoscaler | True, если обновление Autoscaler было выполнено успешно. Если обновление не удалось, возвращается False. | При попытке обновления Autoscaler. | bool | True |
| updated_named_ports | True, если именованные порты были обновлены | именные порты были обновлены | bool | True |
| zone | Зона для запуска MIG. | всегда | строка | us-central1-b |
Примечания
Примечание
- Поддерживается изменение размера и пересоздание ВМ.
- Для создания управляемой группы виртуальных машин требуется существующий шаблон виртуальной машины.
Статус
Этот модуль помечен как бета-версия, что означает, что его интерфейс не гарантируется как обратной совместимый.
Для получения помощи в разработке модулей, если вам это интересно, пожалуйста, прочтите Информацию о сообществе и участии в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/gce_mig_module.html