演習 4.2: ワークフローの作成

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

目次

目的

F5 BIG-IPのAnsible Tower ワークフローの使用方法を示します。ワークフローを使用すると、インベントリー、Playbook、または権限を共有する場合と共有しない場合がある一連の異なるジョブテンプレート(またはワークフローテンプレート)を構成できます。

この演習では、ワークフローを使用して create_vs ジョブテンプレートと同じことを実現すると同時に、各ジョブに失敗処理を追加します。

解説

Step 1: ジョブテンプレートの準備

演習 4.1 から学んだことに従い、それぞれの Playbook を使用して次のジョブテンプレートを作成します。

ジョブテンプレート名 Playbook
Create node create_node.yml
Create pool create_pool.yml
Create virtual server create_virtualserver.yml
Rollback node deploy rollback_node_deploy.yml
Rollback pool deploy rollback_pool_deploy.yml
Rollback virtual server deploy rollback_vs_deploy.yml

上記のジョブテンプレートそれぞれについて、演習 4.1 と同じテンプレートパラメータを使用します。

パラメータ
名前  
ジョブタイプ 実行
インベントリー Workshop Inventory
プロジェクト Workshop Project
Playbook  
認証情報 BIGIP

Create node ジョブテンプレートの例を次に示します。

create node

Step 2: ワークフローテンプレートの作成

  1. 左側のメニューバーから テンプレート をクリックします。

  2. 緑色のtemplates linkボタンをクリックし、ワークフローテンプレート を選択します。

  3. 以下の通りにパラメータを入力します。

パラメータ
名前 Workshop Workflow
組織 Default
インベントリー Workshop Inventory
  1. 保存 ボタンをクリックします。

workflow creation

Step 3: ワークフロービジュアライザー

  1. 保存 をクリックすると、ワークフロービジュアライザー が自動的に開きます。もし開かない場合には、青い ワークフロービジュアライザー ボタンをクリックします。

  2. デフォルトでは緑色の 開始 ボタンだけが表示されています。開始 ボタンをクリックします。

  3. 右側に ノードの追加 が表示されます。前の手順で作成した Create node ジョブテンプレート(もしくは名前を付けたもの)を選択します。

    add a template

    Create nodeジョブテンプレートがノードになりました。ジョブまたはワークフローテンプレートは、ノードと呼ばれるグラフのような構造を使用してリンクされます。これらのノードは、ジョブ、プロジェクトの同期、またはインベントリに同期することができます。テンプレートは、異なるワークフローの一部にしたり、同じワークフローで複数回使用することもできます。ワークフローを起動すると、グラフ構造のコピーがワークフロージョブに保存されます。

  4. 緑色の 選択 ボタンをクリックします。

  5. Create node ジョブテンプレートを選択します。実行オプションは、常時 を使用します。緑色の 選択 ボタンをクリックします。

    remove pool

Step 4: Create pool ジョブテンプレートの追加

  1. Create node ノードにカーソルを合わせ、緑色の + 記号をクリックします。ノードの追加 が再び表示されます。

  2. Create pool ジョブテンプレートを選択します。実行 パラメータは、ドロップダウンメニューから 成功時 を選択します。

  3. 緑色の 選択 ボタンをクリックします。

    upgrade server

Step 5: Create virtual server ジョブテンプレートの追加

  1. Create pool ノードにカーソルを合わせ、緑色の + 記号をクリックします。ノードの追加 が再び表示されます。

  2. Create virtual server ジョブテンプレートを選択します。実行 パラメータは、ドロップダウンメニューから 成功時 を選択します。

  3. 緑色の 選択 ボタンをクリックします。

    add pool

Step 6: Rollback node deploy ジョブテンプレートの追加

  1. Create node ノードにカーソルを合わせ、緑色の + 記号をクリックします。ノードの追加 が再び表示されます。

  2. Rollback node deploy ジョブテンプレートを選択します。実行 パラメータは、ドロップダウンメニューから 障害発生時 を選択します。

  3. 緑色の 選択 ボタンをクリックします。

    configure restore node

Step 7: Rollback pool deploy ジョブテンプレートの追加

  1. Create pool ノードにカーソルを合わせ、緑色の + 記号をクリックします。ノードの追加 が再び表示されます。

  2. Rollback pool deploy ジョブテンプレートを選択します。実行 パラメータは、ドロップダウンメニューから 障害発生時 を選択します。

  3. 緑色の 選択 ボタンをクリックします。

    configure restore node

Step 8: Rollback virtual server ジョブテンプレートの追加

  1. Create virtual server ノードにカーソルを合わせ、緑色の + 記号をクリックします。ノードの追加 が再び表示されます。

  2. Rollback virtual server deploy ジョブテンプレートを選択します。実行 パラメータは、ドロップダウンメニューから 障害発生時 を選択します。

  3. 緑色の 選択 ボタンをクリックします。

    configure restore node

  4. 緑色の 保存 ボタンをクリックします。

Step 9: ワークフローの実行

  1. テンプレート ウインドウに戻ります。

  2. ロケットをクリックし、Workshop Workflow ワークフローテンプレートを起動します。

    workflow job launched

    ワークフロージョブの実行中はいつでも、個々のノードをクリックして、ステータスを確認できます。

Step 10: エラー処理

次に、ロールバックが実行されるワークフローの失敗したジョブテンプレートを示します。

  1. 左側のメニューバーから テンプレート をクリックします。

    templates link

  2. Create virtual serverテンプレートを選択します。

  3. Playbookをcreate_virtualserver.ymlからcreate_virtualserver_error.ymlへ変更します。

create_virtualserver_error.ymlのPlaybookはhttp_pool_errorプールに仮想サーバを追加しようとしますが、http_pool_errorは存在しません。したがって、仮想サーバの追加は失敗し、Rollback virtual server deployノードがトリガーされます。

  1. 下にスクロールし、緑色の 保存 ボタンをクリックします。

  2. テンプレートウインドウに戻り、ロケットをクリックし Workshop Workflow ワークフローテンプレートを再び起動します。

    error handling link

  3. WebブラウザーからF5 BIG-IPにログインし、構成内容を確認します。

Local Trafficをクリックし、Virtual Serversをクリックします。Rollback virtual server deployがキックされ、全てのBIG-IPの構成が削除されています。Pools および Nodes も同様に削除されているはずです。

Step 11: クリーンアップ

  1. 左側のメニューバーから テンプレート をクリックします。Create virtual server テンプレートを選択します。

  2. Playbook を create_virtualserver.yml に戻します。

  3. 下にスクロールし、緑色の 保存 ボタンをクリックします。

  4. テンプレート ウインドウに戻り、ロケットをクリックし Workshop Workflow ワークフローテンプレートを再び起動します。

  5. BIGIP MGMT GUI を介して仮想サーバが作成されたことを確認します。

まとめ

あなたは以下を学習しました


完了

演習 4.2 を完了しました。

これで本演習は終わりです。演習ガイドへ戻る