This project is maintained by p-avery
Read this in other languages:
English,
日本語.
Red Hat Ansible TowerのBIG-IP仮想サーバー構成ジョブテンプレートをデモします。このジョブテンプレートは、仮想サーバーとプールを作成し、2つのWebサーバーをプールに追加します。
Ansible TowerでAnsible Playbookを実行するには、ジョブテンプレート を作成する必要があります。ジョブテンプレート には以下が必要です:
Ansible web UIで、左側のメニューバーから 認証情報 セクションに移動します。
緑色のボタン
をクリックして、新しくWorkshop Credentialの認証情報を作成します。
以下の通りにパラメータを入力し、保存 をクリックします。
| パラメータ | 値 |
|---|---|
| 名前 | Workshop Credential |
| 認証情報タイプ | Network |
| ユーザ名 | admin |
| パスワード | ansible |
Note: BIG-IP のパスワードはインストラクターに確認してください。デフォルトはansibleです。

Note: : ここでは、Ansible Towerコントロールノードからインベントリーファイルを移行する1つの方法を紹介します。
Ansible web UIで、左側のメニューバーから インベントリー セクションに移動します。
緑色のボタン
をクリックして、新しく空のWorkshop Inventoryを作成します。
SSH経由でAnsible Towerコントロールノードにログインします。(これは、Ansible TowerがインストールされているLinuxマシンです)ここでもSSH資格情報が必要です。
cd ~/networking-workshop/lab_inventory/
sudo awx-manage inventory_import --source=hosts --inventory-name="Workshop Inventory"
これで、Web UIを介してログインすると、Workshop Inventoryインベントリーの下にすべてのホストが表示されます。

新しくインポートしたインベントリーで、グループ ボタンをクリックします。

lbグループをクリックし, ホスト ボタンをクリックします。するとf5のホストが表示されます。
f5インベントリー内のBIG-IPホストには、それぞれの値を持つ変数が割り当てられています。Playbookは、ラボの後半でこれらのインベントリーの変数を参照します。

Workshop Inventoryをクリックし、グループ ボタンをクリックします。webグループをクリックし、ホスト ボタンをクリックします。node1とnode2の2つのホストが見えるでしょう。
node1をクリックすると、それに割り当てられた変数とそれぞれの値が表示されます。

Ansible web UIで、左側のメニューバーから プロジェクト セクションに移動します。
緑色のボタン
をクリックして、新しいプロジェクトを作成します。
以下の通りにパラメータを入力し、保存 をクリックします。
| パラメータ | 値 |
|---|---|
| 名前 | Workshop Project |
| SCM タイプ | Git |
| SCM URL | https://github.com/f5devcentral/ansible-tower-workshop-examples.git |
| 起動時のリビジョン更新 | ✓ |

全てのPlaybookは左のリンクより取得できます: https://github.com/f5devcentral/ansible-tower-workshop-examples 各Playbookの背後にあるものを確認できます。
参考までに、これはインポートされた、このラボの後半で実行されるPlaybookの1つです。
create_vs.yml
---
- name: BIG-IP SETUP
hosts: lb
connection: local
gather_facts: false
tasks:
- name: Setting up provider values
set_fact:
provider:
server: ""
server_port: "8443"
validate_certs: "False"
- name: CREATE NODES
bigip_node:
provider: ""
host: ""
name: ""
loop: ""
- name: CREATE POOL
bigip_pool:
provider: ""
name: "http_pool"
lb_method: "round-robin"
monitors: "/Common/http"
monitor_type: "and_list"
- name: ADD POOL MEMBERS
bigip_pool_member:
provider: ""
state: "present"
name: ""
host: ""
port: "80"
pool: "http_pool"
loop: ""
- name: ADD VIRTUAL SERVER
bigip_virtual_server:
provider: ""
name: "vip"
destination: ""
port: "443"
enabled_vlans: "all"
all_profiles: ['http','clientssl','oneconnect']
pool: "http_pool"
snat: "Automap"
- name: PRINT OUT WEB VIP FOR F5
debug:
msg: "The VIP (Virtual IP) is https://"
Ansible web UIで、左側のメニューバーから テンプレート セクションに移動します。

緑色のボタン
をクリックし、新しい ジョブテンプレート を作成します。
ジョブテンプレートを選択してください。ワークフローテンプレートを選択しないでください。
以下の通りにパラメータを入力します:
| パラメータ | 値 |
|---|---|
| 名前 | create_vs |
| ジョブタイプ | 実行 |
| インベントリー | Workshop Inventory |
| プロジェクト | Workshop Project |
| Playbook | create_vs.yml |
| 認証情報 | Workshop Credential |
認証情報タイプ から ネットワーク を選択し、Workshop Credential を選択します:

以下は、パラメーターが入力されたジョブテンプレートのスクリーンショットです:

下にスクロールして、緑色の 保存 ボタンをクリックします。
全てのテンプレートが一覧表示されている テンプレート ウインドウに戻ります。
ロケットボタンを押して、create_vsを起動します。

ロケットボタンをクリックすると、ジョブが起動します。ジョブ詳細表示 という新しいウインドウを開き確認します。Tower Jobsの詳細については、ドキュメントをご覧ください。
左側には 詳細ペイン があり、右側には 標準出力ペイン があります。

詳細ペインを確認します。
詳細ペインは、ジョブの開始と終了時のタイムスタンプのような情報や、ジョブの種類(チェックや実行)、ジョブを起動したユーザ、プロジェクトや Ansible Playbook等のような情報を提供します。
ジョブがまだ終了していない場合、詳細ペイン にはキャンセルボタン
があり、ジョブを停止するために使用することができます。
標準出力ペイン を確認します。
標準出力ペイン は、Ansible Playbookの出力を表示します。全てのTaskの出力は、コマンドラインの出力と全く同じです。
出力の展開
をクリックします。
これにより、標準出力ペインが拡張され、ウインドウ全体が表示されます。
標準出力ペイン の中からTaskをクリックし、特定のTaskから構造化された出力を開きます。
任意の行をクリックし、changedもしくはokをクリックします。

実行完了もしくは実行中の ジョブテンプレート は ビュー -> ジョブ ウインドウに表示されます。
Ansible web UIで、左側のメニューバーから ジョブ セクションに移動します。

ジョブウインドウには、ジョブのリストとそのステータスが表示され、正常に完了したか失敗したか、またはアクティブな(実行中の)ジョブが表示されます。この画面から実行できるアクションには、特定のジョブの詳細と標準出力の表示、ジョブの再起動、ジョブの削除などがあります。
create_vs ジョブをクリックします。

create_vs のジョブは最新です。(他のジョブを起動していなければ) このジョブをクリックし、ジョブ詳細表示に移動します。Ansible Towerは起動されたすべてのジョブの履歴を保存します。
WebブラウザーでF5 BIG-IPにログインして、構成内容を確認します。
BIG-IPのログイン情報:
左側のメニューに、Virtual Servers を見つけることができます。Local Trafficをクリックし、Virtual Serversをクリックします。以下のスクリーンショットをご覧ください。

2つのRHEL Webサーバは、それぞれ既にApacheが起動しています。WebブラウザーからF5ロードバランサーのパブリックIPアドレスを開きます。
今回は8443の代わりに443を使用します。例: https://X.X.X.X:443/
以下に示すように、更新するたびに、BIG-IPはnode1とnode2間のトラフィックの負荷を分散します:

デモに成功しました!
演習4.1を完了しました。