aviconfig
УСТАРЕЛО
⛔️ УСТАРЕЛО: Этот репозиторий больше не поддерживается, пожалуйста, рассмотрите возможность использования 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
Ansible role to configure Avi
ansible-galaxy install avinetworks/ansible-role-aviconfig