aviconfig

УСТАРЕЛО

Ansible Galaxy

⛔️ УСТАРЕЛО: Этот репозиторий больше не поддерживается, пожалуйста, рассмотрите возможность использования https://github.com/vmware/ansible-collection-alb вместо него, так как эта роль была перенесена в коллекции Ansible.

Эта роль позволяет пользователю настраивать Avi, просто предоставив словарь объектов конфигурации avi. Эта роль вызывает необходимые модули Ansible Avi в правильном порядке, обеспечивая последовательную и успешную настройку.

Требования

  • python >= 2.7
  • avisdk

Эта роль требует Ansible 2.2 или выше. Требования указаны в файле метаданных.

Пожалуйста, установите avisdk из pip перед запуском этого модуля.

pip install avisdk --upgrade

Установка

Чтобы установить модуль Ansible aviconfig, выполните команду на машине, с которой вы будете запускать Ansible.

ansible-galaxy install avinetworks.aviconfig

Для получения дополнительной информации посетите http://docs.ansible.com/ansible/galaxy.html

Переменные Роли

avi_config

Это словарь всех ресурсов Avi REST, которые пользователь хочет настроить. Роль Aviconfig вызывает модули Ansible Avi для настройки этих параметров в контроллере Avi. Например.

- name: определение конфигурации avi
  set_fact:
    avi_config:
      pool:
        - name: "foo-pool"
          lb_algorithm: LB_ALGORITHM_ROUND_ROBIN
          servers:
            - ip:
                 addr: "42.42.42.42"
                 type: 'V4'
      virtualservice:
        - name: foo
          services:
            - port: 80
          pool_ref: "/api/pool?name=foo-pool"
          vip:
            - ip_address:
                addr: "10.10.10.10"
                type: 'V4'
              vip_id: '1'

- name: Приложение Avi | Настройка Foo
  import_role:
    name: avinetworks.aviconfig
  vars:
    avi_config: "{{avi_config}}"

avi_config_file

Это указывает место, откуда роль будет читать объекты конфигурации Avi. Она загружает переменную avi_config из этого файла, если она определена. Например.

- name: Приложение Avi | Настройка VMWare Cloud с правами на запись
  import_role:
    name: avinetworks.aviconfig
  vars:
    avi_config_file: application/config.yml

avi_creds_file

Это указывает расположение переменных учетных данных для контроллера Avi. Обычно это должен быть файл Ansible vault. Например.

- name: Приложение Avi | Настройка VMWare Cloud с правами на запись
  import_role:
    name: avinetworks.aviconfig
  vars:
    avi_config_file: application/config.yml
    avi_creds_file: credentials/creds.yml

avi_config_state

Это глобальная переопределение для удаления всех объектов Avi REST, перечисленных в каталоге avi_config. Это полезно для создания полной конфигурации, а затем удаления всех объектов.

avi_config_state=absent
Например: ansible-playbook site_applications.yml --extra-vars "site_dir=`pwd` avi_config_state=absent"

Примеры Плейбуков

---
- hosts: localhost
  connection: local
  roles:
    - role: avinetworks.avisdk
  tasks:
    - name: Приложение Avi | Настройка foo
      import_role:
        name: avinetworks.aviconfig
      vars:
        avi_config_file: "foo/config.yml"
        avi_creds_file: "vars/creds.yml"

Этот пример показывает, как создать avi_config как часть задачи и передать его в роль.

---
- hosts: localhost
  connection: local
  roles:
    - role: avinetworks.avisdk
  tasks:
    - name: определение конфигурации avi
      set_fact:
        avi_config:
          pool:
            - name: foo-pool
              lb_algorithm: LB_ALGORITHM_ROUND_ROBIN
              servers:
                - ip:
                     addr: 42.42.42.42
                     type: V4
          virtualservice:
            - name: foo
              services:
                - port: 80
              pool_ref: "/api/pool?name=foo-pool"
              vip:
                - ip_address:
                    addr: 10.10.10.10
                    type: V4
                  vip_id: '1'

    - name: Приложение Avi | Настройка foo
      import_role:
        name: avinetworks.aviconfig
      vars:
        avi_config: "{{avi_config}}"
        avi_creds_file: "vars/creds.yaml"

Существует много других примеров, которые можно найти по адресу https://github.com/avinetworks/devops/tree/master/ansible.

Лицензия

Apache 2.0

Информация об авторе

Гаурава Растоги

github: grastogi23

[https://www.linkedin.com/in/grrastogi]

Установить
ansible-galaxy install avinetworks/ansible-role-aviconfig
Лицензия
apache-2.0
Загрузки
43734
Владелец