workshops

Training Course for Ansible Automation Platform

This project is maintained by ericzji

演習 2.1 - モジュールの組み合わせを使用してBIG-IPの構成を削除する

Read this in other languages: uk English, japan 日本語.

目次

目的

異なるモジュールを使用して、BIG-IPの構成(ノード/プール/仮想サーバ)を削除します。

解説

Step 1:

テキストエディタで新規ファイル bigip-delete-configuration.yml を作成します:

[student1@ansible ~]$ nano bigip-delete-configuration.yml

vimnano がコントールノードで利用できます。もしくは RDP で接続して Visual Studio と Atom を利用することも可能です。

Step 2:

以下の play 定義を bigip-delete-configuration.yml に追加してください:

---
- name: BIG-IP SETUP
  hosts: lb
  connection: local
  gather_facts: no

Step 3

プロバイダ値を設定するために set_fact を含む tasks を追加します。

---
- 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"

Step 4

次に、bigip_virtual_server を使用してタスクを追加します。このタスクは、演習 1.5 - virtual server の追加 と同じです。 state:absent は、F5BIG-IP ロードバランサから構成を削除します。

---
- 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

Step 5

次に、bigip_pool を使用して2番目のタスクを追加します。このタスクは演習 1.3 - プールの追加state パラメーター absent をつけたものと同じです。

---
- 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

Step 6

最後に、bigip_node を使用して最後のタスクを追加します。このタスクは、演習 1.2 - F5 BIG-IP へのノード追加state パラメーター absent をつけたものと同じです。

---
- 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'] }}"

上記のPlaybookは、仮想サーバ、プール、前の実習で構成したノードの順に削除します。

Step 7

Playbook の実行 - コマンドラインへ戻ったら以下のコマンドでPlaybookを実行してください:

[student1@ansible ~]$ ansible-playbook bigip-delete-configuration.yml

Playbookの出力

[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=host1)
changed: [f5] => (item=host2)

PLAY RECAP **************************************************************************************************************************************
f5                         : ok=4    changed=3    unreachable=0    failed=0

解答

完成したPlaybookのサンプルは bigip-delete-configuration.yml から参照できます。

解答の確認

Webブラウザを使用してF5にログインし、設定内容を確認します。F5ロードバランサーのIP情報を lab_inventory/hosts ファイルから取得し、https://X.X.X.X:8443/のように入力します。

BIG-IPのログイン情報:

左側のメニューに移動し、構成が削除されたことを確認します。

本演習は終了です。Click here to return to the lab guide