Spec-Zone.ru › Ansible 2.10

community.general.gce_mig – Создание, обновление или удаление группы виртуальных машин (Managed Instance Group, MIG).

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать его в книге задач, укажите: community.general.gce_mig.

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

Обзор

  • Создание, обновление или удаление группы виртуальных машин (Managed Instance Group, 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
строка
    Варианты:
  • 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.general.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.general.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.general.gce_mig:
        name: ansible-mig-example
        zone: us-central1-c
        state: present
        size: 3

    - name: Update MIG with Autoscaler
      community.general.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.general.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
Список изменённых 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/gce_mig_module.html

Spec-Zone.ru

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