avinetworks.aviconfig
已弃用
⛔️ 已弃用:此仓库不再受支持,请考虑使用 https://github.com/vmware/ansible-collection-alb ,因为 此角色已迁移到 ansible 集合中。
此角色允许用户通过提供 Avi 配置对象的字典来配置 Avi。 此角色按照正确的顺序调用相应的 Avi Ansible 模块作为任务,以确保一致且成功的配置。
需求
- python >= 2.7
- avisdk
此角色需要 Ansible 2.2 或更高版本。要求在元数据文件中列出。
在运行此模块之前,请从 pip 安装 avisdk。
pip install avisdk --upgrade
安装
要安装 aviconfig Ansible 模块,请在将要运行 Ansible 的机器上发出以下命令。
ansible-galaxy install avinetworks.aviconfig
有关更多信息,请访问 http://docs.ansible.com/ansible/galaxy.html
角色变量
avi_config
这是用户想要设置的所有 Avi REST 资源的字典。Aviconfig 角色调用 Avi Ansible 模块来配置 Avi Controller 中的这些设置。 例如:
- 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 Controller 凭据信息的文件位置。通常,这应该是一个 Ansible 密钥文件。例如:
- 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_config 目录中列出的所有 Avi REST 对象。这对于创建完整配置后再删除所有对象很有用。
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
作者信息
Gaurav Rastogi
github: grastogi23
Ansible role to configure Avi
ansible-galaxy install avinetworks.aviconfig