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コントローラーにこれらの設定を構成するためにAvi Ansibleモジュールを呼び出します。例:
- 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クラウドを設定
import_role:
name: avinetworks.aviconfig
vars:
avi_config_file: application/config.yml
avi_creds_file
これはAviコントローラーの資格情報変数の位置を提供します。通常、これはAnsibleボールトファイルであるべきです。例:
- name: Aviアプリケーション | 書き込みアクセスを持つVMWareクラウドを設定
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"
他にも多くの例がこちらにあります。
ライセンス
Apache 2.0
著者情報
ガウラブ・ラスゴウィ
github: grastogi23
Ansible role to configure Avi
ansible-galaxy install avinetworks.aviconfig