Read this in other languages: English, 日本語.
Red Hat Ansible Tower の BIG-IP 仮想サーバー構成ジョブテンプレートをデモします。このジョブテンプレートは、仮想サーバーとプールを作成し、2つの Web サーバーをプールに追加します。
Ansible Tower で Ansible Playbook を実行するには、ジョブテンプレート を作成する必要があります。ジョブテンプレート には以下が必要です。
Web UI を開き、左側のメニューバーから リソース セクションの下にある プロジェクト をクリックします。
緑色のボタンをクリックして、新しくプロジェクトを作成します。
以下の通りにパラメータを入力し、保存 をクリックします。
パラメータ | 値 |
---|---|
名前 | Workshop Project |
組織 | Default |
SCM タイプ | Git |
SCMURL | https://github.com/f5devcentral/ansible-tower-workshop-examples.git |
起動時のリビジョン更新 | ✓ |
Note: ご使用の環境には、追加のプロジェクトがセットアップされている場合があります。各プロジェクトは、Ansible Playbook のリポジトリを表します。複数のプロジェクトがあるのは正常です。
すべての Playbook は https://github.com/f5devcentral/ansible-tower-workshop-examples から入手でき、各 Playbook を確認することができます。
参考に、インポートされている、このラボの後半で実行される Playbook の一つを次に示します。
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://"
ジョブを作成する前に、BIG-IP に対して認証するための資格情報を作成する必要があります。
Web UI を開き、左側のメニューバーから リソース セクションの下にある 認証情報 をクリックします。
緑色の ボタンをクリックし、新しく認証情報テンプレートを作成します。
以下の通りに、認証情報パラメータをフィールドに入力します。
パラメータ | 値 |
---|---|
名前 | BIGIP |
認証情報タイプ | ネットワーク |
ユーザ名 | admin |
パスワード |
NOTE: パスワードは、学生ラボ情報が含まれているWebページのワークベンチ情報セクションにあります。パスワードがわからない場合は、講師に相談してください。
Web UI を開き、左側のメニューバーから リソース セクションの下にある テンプレート をクリックします。
緑色の ボタンをクリックし、新しくジョブテンプレートを作成します。
以下の通りにパラメータを入力します。
パラメータ | 値 |
---|---|
名前 | create_vs |
ジョブタイプ | 実行 |
インベントリー | Workshop Inventory |
プロジェクト | Workshop Project |
Playbook | create_vs.yml |
認証情報 | BIGIP |
認証情報タイプから ネットワーク
を選択し、次に BIGIP
を選択します。
これは、パラメータが入力されたジョブテンプレートのスクリーンショットです。
全てのテンプレートが一覧表示されている テンプレート ウインドウに戻ります。
ロケットボタンを押して、create_vs
を起動します。
ロケットボタンをクリックすると、ジョブが起動します。ジョブ詳細表示 という新しいウインドウを開き確認します。Tower Jobsの詳細については、ドキュメントを参照してください。
左側には 詳細ペイン があり、右側には 標準出力ペイン があります。
詳細ペイン を確認します。
詳細ペインは、ジョブの開始と終了時のタイムスタンプのような情報や、ジョブの種類(チェックや実行)、ジョブを起動したユーザ、プロジェクトや Ansible Playbook 等の情報を提供します。
ジョブがまだ終了していない場合、詳細ペイン にはキャンセルボタンがあり、ジョブを停止するために使用することができます。
標準出力ペイン を確認します。
標準出力ペイン は、Ansible Playbook の出力を表示します。全ての Task の出力は、コマンドラインの出力と全く同じです。
出力の展開 ボタンをクリックします。
これにより、標準出力ペイン が拡張され、ウインドウ全体が表示されます。
標準出力ペイン の中から Task をクリックし、特定の Task から構造化された出力を開きます。
任意の changed もしくは ok がある行をクリックします。
実行完了もしくは実行中の ジョブテンプレート は ジョブ ウインドウに表示されます。
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を完了しました。
これで本演習は終わりです。演習ガイドへ戻る