Spec-Zone.ru › Ansible 2.10

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

Spec-Zone.ru

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