Spec-Zone.ru › Ansible 2.11

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
список / элементы=строка
Определение именованных портов, в которые службы обратного канала могут пересылать данные. Формат — список словарей вида name:port.
pem_file
путь
Путь к файлу PEM, связанному с адресом электронной почты учетной записи службы. Этот параметр устарел. Используйте 'credentials_file'.
project_id
строка
Идентификатор проекта GCE.
recreate_instances
булево
    Варианты:
  • нет ←
  • да
Пересоздать виртуальные машины MIG.
service_account_email
строка
Адрес электронной почты учетной записи службы.
service_account_permissions
список / элементы=строка
Разрешения учетной записи службы.
size
целое число
Размер управляемой группы виртуальных машин. Если MIG уже существует, он будет изменён на указанное здесь значение. Необходим для создания MIG.
state
строка
    Варианты:
  • absent
  • 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
      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, если попытка создания автомасштабирования была успешной. В противном случае — False.

Пример:
True
created_instances
список / элементы=строка
При создании виртуальных машин.
Имена созданных виртуальных машин.

Пример:
['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68']
deleted_autoscaler
булево
При попытке удалить автомасштабирование.
True, если попытка удаления автомасштабирования была успешной. В противном случае — False.

Пример:
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
булево
named_ports установлены
True, если named_ports установлены

Пример:
True
size
целое число
изменён
Количество ВМ в управляемой группе виртуальных машин.

Пример:
4
template
строка
изменён
Шаблон виртуальной машины для ВМ. Должен существовать до использования с MIG.

Пример:
my-instance-template
updated_autoscaler
булево
При попытке обновить автомасштабирование.
True, если попытка обновления автомасштабирования была успешной. В противном случае — False.

Пример:
True
updated_named_ports
булево
named_ports обновлены
True, если named_ports обновлены

Пример:
True
zone
строка
всегда
Зона для запуска MIG.

Пример:
us-central1-b


Авторы

  • Tom Melendez (@supertom) <tom@supertom.com>

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/google/gce_mig_module.html

Spec-Zone.ru

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