Read this in other languages: English, 日本語.
異なるモジュールを使用して、BIG-IPの構成(ノード/プール/仮想サーバ)を削除します。
テキストエディタで新規ファイル bigip-delete-configuration.yml
を作成します:
{% raw %}
[student1@ansible ~]$ nano bigip-delete-configuration.yml
{% endraw %}
vim
とnano
がコントールノードで利用できます。もしくは RDP で接続して Visual Studio と Atom を利用することも可能です。
以下の play 定義を bigip-delete-configuration.yml
に追加してください:
{% raw %}
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: no
{% endraw %}
- ファイルの先頭の
---
はこのファイルが YAML であることを示します。 hosts: lb
はこのプレイブックが lb グループのみで実行されることを示しています。 本演習では、BIG-IP機器は1つだけですが、もし複数台が設定されている場合には同時に設定されます。connection: local
は Playbook がローカル実行されることを示します。gather_facts: no
Fact 情報の収集を無効にします。この演習では Playbook の中で Fact 情報を利用しません。
プロバイダ値を設定するために set_fact
を含む tasks を追加します。
{% raw %}
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: no
tasks:
- name: Setup provider
set_fact:
provider:
server: "{{private_ip}}"
user: "{{ansible_user}}"
password: "{{ansible_ssh_pass}}"
server_port: "8443"
validate_certs: "no"
{% endraw %}
次に、bigip_virtual_server を使用してタスクを追加します。このタスクは、演習 1.5 - virtual server の追加 と同じです。 state:absent
は、F5BIG-IP ロードバランサから構成を削除します。
{% raw %}
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: no
tasks:
- name: Setup provider
set_fact:
provider:
server: "{{private_ip}}"
user: "{{ansible_user}}"
password: "{{ansible_ssh_pass}}"
server_port: "8443"
validate_certs: "no"
- name: DELETE VIRTUAL SERVER
bigip_virtual_server:
provider: "{{provider}}"
name: "vip"
state: absent
{% endraw %}
state: absent
はモジュールに設定を削除するように指示するパラメータです。
次に、bigip_pool を使用して2番目のタスクを追加します。このタスクは演習 1.3 - プールの追加 に state パラメーター absent
をつけたものと同じです。
{% raw %}
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: no
tasks:
- name: Setup provider
set_fact:
provider:
server: "{{private_ip}}"
user: "{{ansible_user}}"
password: "{{ansible_ssh_pass}}"
server_port: "8443"
validate_certs: "no"
- name: DELETE VIRTUAL SERVER
bigip_virtual_server:
provider: "{{provider}}"
name: "vip"
state: absent
- name: DELETE POOL
bigip_pool:
provider: "{{provider}}"
name: "http_pool"
state: absent
{% endraw %}
最後に、bigip_node を使用して最後のタスクを追加します。このタスクは、演習 1.2 - F5 BIG-IP へのノード追加 に state パラメーター absent
をつけたものと同じです。
{% raw %}
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: no
tasks:
- name: Setup provider
set_fact:
provider:
server: "{{private_ip}}"
user: "{{ansible_user}}"
password: "{{ansible_ssh_pass}}"
server_port: "8443"
validate_certs: "no"
- name: DELETE VIRTUAL SERVER
bigip_virtual_server:
provider: "{{provider}}"
name: "vip"
state: absent
- name: DELETE POOL
bigip_pool:
provider: "{{provider}}"
name: "http_pool"
state: absent
- name: DELETE NODES
bigip_node:
provider: "{{provider}}"
name: "{{hostvars[item].inventory_hostname}}"
state: absent
loop: "{{ groups['webservers'] }}"
{% endraw %} 上記のPlaybookは、仮想サーバ、プール、前の実習で構成したノードの順に削除します。
Playbook の実行 - コマンドラインへ戻ったら以下のコマンドでPlaybookを実行してください:
{% raw %}
[student1@ansible ~]$ ansible-playbook bigip-delete-configuration.yml
{% endraw %}
{% raw %}
[student1@ansible]$ ansible-playbook bigip-delete-configuration.yml
PLAY [BIG-IP TEARDOWN] **************************************************************************************************************************************
TASK [Setup provider] ***************************************************************************************************************************************
ok: [f5]
TASK [DELETE VIRTUAL SERVER] ********************************************************************************************************************************
changed: [f5]
TASK [DELETE POOL] *********************************************************************************************************************************
changed: [f5]
TASK [DELETE NODES] *************************************************************************************************************************************
changed: [f5] => (item=node1)
changed: [f5] => (item=node2)
PLAY RECAP **************************************************************************************************************************************
f5 : ok=4 changed=3 unreachable=0 failed=0
{% endraw %}
完成したPlaybookのサンプルは bigip-delete-configuration.yml から参照できます。
Webブラウザを使用してF5にログインし、設定内容を確認します。F5ロードバランサーのIP情報を lab_inventory/hosts
ファイルから取得し、https://X.X.X.X:8443/のように入力します。
BIG-IPのログイン情報:
- username: admin
- password: admin
左側のメニューに移動し、構成が削除されたことを確認します。
- Local Traffic Manager -> Virtual Server
- Local Traffic Manager -> Pool
- Local Traffic Manager -> Node