Read this in other languages: English, 日本語.
本演習では、BIG-IP node moduleを使用して、BIG-IP Load Balancer (以下、BIG-IP)へ、ウェブサーバーとなる2台のRHEL(Red Hat Enterprise Linux)を”ノード”として追加する方法を紹介します。
テキストエディタを使って、bigip-node.yml
というファイルを新規作成します。
[student1@ansible ~]$ nano bigip-node.yml
vim
とnano
はコントロールノード上で利用可能です。RDP経由でのVisual Studio と Atom も同様です。
以下の定義を bigip-node.yml
に入力します :
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: false
---
は、このファイルがYAMLであることを示します。hosts: lb
はこのプレイブックが lb グループのみで実行されることを示しています。 本演習では、BIG-IP機器は1つだけですが、もし複数台が設定されている場合には同時に設定されます。connection: local
で、このプレイブックが(自分自身にSSH接続をするのではなく)ローカル実行されることを指示しています。gather_facts: false
で、FACTの収集を無効化します。このプレイブックではFACT変数を使用しません。まだエディタを閉じないでください。
次に、最初のタスクを追加します。このタスクは、bigip_node
モジュールを使用して、BIG-IP上に、2つの RHEL (Webサーバー)をノードとして設定します。
tasks:
- name: CREATE NODES
f5networks.f5_modules.bigip_node:
provider:
server: "{{private_ip}}"
user: "{{ansible_user}}"
password: "{{ansible_password}}"
server_port: 8443
validate_certs: false
host: "{{hostvars[item].ansible_host}}"
name: "{{hostvars[item].inventory_hostname}}"
loop: "{{ groups['web'] }}"
loop は指定された一覧に対して、タスクを繰り返し実行します。 この演習では、二つのWebサーバーに対して一度づつタスクを実行します。
name: CREATE NODES
: ユーザーが定義する説明文です。これは実行時に端末に表示されることになります。bigip_node:
: 使用するモジュールを宣言しています。 loop
を除く全てのものは、モジュールのドキュメント上で定義されている、モジュールパラメータです。provider:
: BIG-IP の詳細な接続情報のオブジェクト。server: ""
: 接続先となるBIG-IPのIPアドレスを指定します。これはインベントリ内で private_ip
として登録されているものです。user: ""
: BIG-IP へログインするユーザー名を指定します。password: ""
: BIG-IPへログインする際のパスワードを指定します。server_port: 8443
: BIG-IPへ接続する際のポート番号を指定します。validate_certs: false
: (あくまで演習用ラボなので)SSL証明書の検証を行わないように設定します。host: ""
: モジュールへインベントリに登録済みのWebサーバーのIPアドレスを追加します。name: ""
: inventory_hostname
をホスト名(node1、node2 となります)として使うことを指示します。loop:
: 与えられた一覧に対してタスクをループ実行することを指定します。この演習では、二つのRHELホストを含む web グループが一覧となります。ファイルを保存して、エディタを終了します。
プレイブックの実行 - コントロールホストのコマンドラインで以下を実行します。
[student1@ansible ~]$ ansible-playbook bigip-node.yml
出力は以下のようになります。
[student1@ansible]$ ansible-playbook bigip-node.yml
PLAY [BIG-IP SETUP] ************************************************************
TASK [CREATE NODES] ************************************************************
changed: [f5] => (item=node1)
changed: [f5] => (item=node2)
PLAY RECAP *********************************************************************
f5 : ok=1 changed=1 unreachable=0 failed=0
完成形のAnsible Playbook はこちらから参照可能です。 bigip-node.yml.
ブラウザでBIG-IPへログインして設定されたものを確認してみましょう。lab_inventory/hosts ファイルからBIG-IPのIPアドレスを確認して、https://X.X.X.X:8443/ のようにアクセスします。
BIG-IP へのログイン情報:
画面左のメニューからノード一覧が確認できます。Local Traffic -> Nodes とクリックします。
これで本演習は終わりです。演習ガイドへ戻る