community.google.gce_mig – Создание, обновление или удаление группы управляемых виртуальных машин (MIG).
Примечание
Этот плагин входит в коллекцию community.google (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.google.
Чтобы использовать его в книге задач, укажите: community.google.gce_mig.
Обзор
- Создание, обновление или удаление группы управляемых виртуальных машин (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) обязательны, если используется автомасштабирование. Смотрите https://cloud.google.com/compute/docs/reference/beta/autoscalers для получения дополнительной информации об автомасштабировании. | |
| credentials_file путь | Путь к JSON-файлу, связанному с электронным адресом учетной записи службы | |
| name строка / обязательно | Имя группы управляемых виртуальных машин. | |
| named_ports список / элементы=строка | Определяет имена портов, на которые службы бэкенда могут пересылать данные. Формат — список словарей "имя:порт". | |
| pem_file путь | путь к файлу pem, связанному с электронным адресом учетной записи службы. Этот параметр устарел. Используйте 'credentials_file'. | |
| project_id строка | Идентификатор проекта GCE | |
| recreate_instances логический тип |
| Пересоздать экземпляры MIG. |
| service_account_email строка | Электронный адрес учетной записи службы | |
| service_account_permissions список / элементы=строка | Разрешения учетной записи службы | |
| size целое число | Размер группы управляемых виртуальных машин. Если MIG уже существует, он будет изменен на указанное здесь значение. Требуется для создания MIG. | |
| state строка |
| желаемое состояние ресурса |
| 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
community.google.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
ansible.builtin.pause:
seconds: 30
- name: Recreate MIG Instances with Instance Template change.
community.google.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
ansible.builtin.pause:
seconds: 30
- name: Resize MIG
community.google.gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: present
size: 3
- name: Update MIG with Autoscaler
community.google.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
ansible.builtin.pause:
seconds: 30
- name: Delete MIG
community.google.gce_mig:
name: ansible-mig-example
zone: us-central1-c
state: absent
autoscaling:
enabled: no
name: my-autoscaler
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| created_autoscaler логический тип | При попытке создания Автомасштабирования. | Истина, если попытка создания Автомасштабирования была успешной. Ложь в противном случае. Пример: True |
| created_instances список / элементы=строка | При создании экземпляров. | Имена созданных экземпляров. Пример: ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| deleted_autoscaler логический тип | При попытке удаления Автомасштабирования. | Истина, если попытка удаления Автомасштабирования была успешной. Ложь, если удаление не удалось. Пример: True |
| deleted_instances список / элементы=строка | При удалении экземпляров. | Имена удаленных экземпляров. Пример: ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
| name строка | изменён | Имя группы управляемых виртуальных машин. Пример: my-managed-instance-group |
| named_ports список / элементы=строка | при первоначальной установке или обновлении 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 логический тип | named_ports были установлены | Истина, если named_ports были установлены Пример: True |
| size целое число | изменён | Количество ВМ в группе управляемых виртуальных машин. Пример: 4 |
| template строка | изменён | Шаблон виртуальной машины, который используется для ВМ. Должен существовать перед использованием с MIG. Пример: my-instance-template |
| updated_autoscaler логический тип | При попытке обновления Автомасштабирования. | Истина, если попытка обновления Автомасштабирования была успешной. Ложь, если обновление не удалось. Пример: True |
| updated_named_ports логический тип | named_ports были обновлены | Истина, если named_ports были обновлены Пример: True |
| zone строка | всегда | Зона, в которой запустить MIG. Пример: us-central1-b |
Авторы
- Tom Melendez (@supertom) <tom@supertom.com>
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/google/gce_mig_module.html