Ansible Tower を使ってネットワークコンフィグのバックアップを行うジョブテンプレートを確認していきます。このジョブテンプレートは4つルーターから稼働中のコンフィグを取得し、コントローラーノードの /backup 配下にタイムスタンプ付きで保存します。
Ansible Tower で Playbook を実行するには Job Template を作成する必要があります。Job Template の作成には以下が必要です:
左のメニューから Templates
を選択します。
グリーンのボタン をクリックしてジョブテンプレートを作成します。
作成には
Job Template
を選択します。Workflow Template
ではありません。
以下のジョブテンプレートのパラメーターを入力します:
Parameter | Value |
---|---|
Name | Backup network configurations |
Job Type | Run |
Inventory | Workshop Inventory |
Project | Workshop Project |
Playbook | network_backup.yml |
Credential | Workshop Credential |
入力した状態の画面は以下になります。
2つ目の認証情報をジョブテンプレートに割り当てます。
この Tower Credential (認証タイプ Ansible Tower)もジョブテンプレートに追加する必要があります。これは Network-Restore ジョブテンプレートが使用しているプールをアップデートするために使用されます。Ansible Tower ではジョブテンプレートから、プログラマブルに Ansible Tower 自身の設定を動的に追加・更新することができます。
画面を下方向へスクロールしてグリーンの save
ボタンをクリックします。
以下がチュートリアルです:
Youtube で確認するにはこちら Click Here
Templates
画面へと戻ります。ここでは全てのジョブテンプレートのリストが表示されます。
ジョブテンプレート Backup network configurations
のロケットボタンをクリックしてジョブを起動します。
ロケットボタンをクリックするとジョブが起動されます。ジョブが起動されると Job Details View という新しい画面が起動します。ジョブについての詳細の情報は Tower Jobs から参照できます。
画面の左側は Details pane で、右側は Standard Out pane です。
Details pane を確認します。
Details pane ではジョブの起動、終了時間や、ジョブのタイプ(Check / Run)、ジョブを起動したユーザー、どのプロジェクトのどのPlaybookが使われているか等が確認できます。
もし、ジョブが実行中であれば Details Pane にはキャンセルボタン が表示され、これを使うとジョブを停止することができます。
Standard Out pane を確認します。
Standard Out pane には Playbook の出力が表示されます。この内容はコマンドラインで実行したものと同じです。
Expand Output ボタンをクリックします。
Standard Out pane が表示領域が拡大します。
Standard Out pane の中から特定タスクの出力部分をクリックすると、タスクが出力する構造化されたデータを表示できます。
changed または ok となっている好きな行をクリックしてください。
起動された、もしくは起動中の Job Template は Jobs ウインドに全て表示されます。
左メニューから Jobs ボタンをクリックします。
この Jobs 画面はジョブの一覧と成功、失敗、実行中といったジョブの状態を表示します。この画面からは、特定ジョブの詳細、出力結果、再実行、ジョブの削除が行えます。
Backup network configurations ジョブをクリックします。
この Backup network configurations ジョブは最も最近に起動されています(他のジョブを起動していなければ)。このジョブをクリックすると Job Details View へと戻ることができます。Ansible Tower は起動された全てのジョブの履歴を保存しています。
コントローラーノード上で ls /backup
コマンドを実行してタイムスタンプが付加されたディレクトリを確認します(もし複数回ジョブテンプレートを実行した場合は複数のディレクトリが存在します)
[student1@ansible ~]$ ls /backup
2019-07-09-18-42 2019-07-09-19-18
ls
コマンドはファイルの一覧を表示しますcat
コマンドでバックアップされたネットワークデバイスの内容を確認します。
[student1@ansible ~]$ cat /backup/2019-07-09-18-42/rtr1
Current configuration : 5625 bytes
!
! Last configuration change at 02:44:24 UTC Wed Jul 3 2019 by ec2-user
!
version 16.9
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
! [[REST OF OUTPUT REMOVED FOR BREVITY]]
!
残りのルーターに関してもバックアップファイルを確認してください。この演習環境はJuniper や Arista を含む複数のベンダーの機器でセットアップされています。Playbook はこのようにベンダー非依存で動くように書くことも可能です。ここで使われたPlaybookは https://github.com/network-automation/toolkit で確認できます。
ここで確認した内容は以下となります。
以上で exercise 6 は終了です。
Click here to return to the Ansible Network Automation Workshop