先日以下記事にて、Ansible AWXをMinikube環境にインストールする手順を記載した。
今回はインストールしたAnsible AWXを使って、実際にPlaybookを実行する手順を記載する。
なお、私のインストールしたAnsible AWXでは設定が不足しているのかローカルに保存したPlaybookの実行ができないため、今回はAnsible AWXでGitHubに配置したPlaybookを実行する手順を記載する。
環境
今回利用するAWXのバージョンは以下の通り。インストール手順は前回の記事を参照いただきたい。
- AWX : 19.5.0
また、GitHubは私のアカウントの以下リポジトリを使用する。
Playbookとしてwin_ping.yml
というYAMLを以下の通り作成した。win_ping
によるWindows ServerへAnsibleからの疎通確認を実施するシンプルな内容となっている。
---
- name: Test win_ping
hosts: all
tasks:
- name: Test win_ping
win_ping:
Ansible AWXでPlaybookを実行する手順
1. プロジェクトの作成
左メニューの「リソース」→「プロジェクト」→「追加」ボタンを選択する。
ここでは、Ansible AWXでPlaybookの取得方法を定義する「プロジェクト」を作成する。今回は以下の通り設定した。
設定項目 | 設定値 | 説明 |
---|---|---|
名前 | GitHub Test | 任意の名前を指定。 |
ソースコントロール認証情報タイプ | Git | GitHubやGitLabを使用する場合は「Git」を指定。Git以外にもSubversionなどが指定可能。 |
ソースコントロールのURL | https://github.com/tech-mmmm/ansible-test.git | Playbookを配置しているGitHubのリポジトリのURLを指定。 |
ソースコントロールブランチ/タグ/コミット | main | GitHubのリポジトリのブランチ名を指定。 |
プロジェクト作成後、GitHubに配置されているPlaybook情報を読み込む必要がある。作成したプロジェクトの左側にある「同期」ボタンを押して同期処理を実行しよう。問題なく同期できればStatusが「成功」となる。
2. インベントリーの作成
左メニューの「リソース」→「インベントリー」→「追加」ボタン→「インベントリーの追加」を選択する。
ここでは、Playbook実行対象のホストを指定する「インベントリー」を作成する。インベントリー自体は名前のみ指定すれば問題ない。
設定項目 | 設定値 | 説明 |
---|---|---|
名前 | Test Inventory | 任意の名前を指定。 |
3. ホストの作成
作成したインベントリーを選択し、「ホスト」タブ→「追加」ボタンを三択する。
ここでは、実際の実行対象の「ホスト」を追加する。
設定項目 | 設定値 | 説明 |
---|---|---|
名前 | 192.168.11.81 | Playbook実行対象となるホスト名またはIPアドレスを指定する。 |
変数 | JSON | 「YAML」または「JSON」を選択する。今回は「JSON」を指定する。 |
変数の詳細 | 以下を参照。 | ポート番号の指定、接続プロトコルとしてWinRMを利用、証明書検証をスキップするため変数を指定する。 |
{
"ansible_port": 5986,
"ansible_connection": "winrm",
"ansible_winrm_server_cert_validation": "ignore"
}
4. 認証情報の作成
左メニューの「リソース」→「認証情報」→「追加」ボタンを選択する。
ここでは、Playbook実行時のユーザ名、パスワードのセットとなる「認証情報」を指定する。
設定項目 | 設定値 | 説明 |
---|---|---|
名前 | Test User | 任意の名前を指定。 |
認証情報タイプ | マシン | 各種認証情報のタイプを指定できる。今回のようにWindows ServerやLinuxのホストを対象とする場合は「マシン」を指定する。 |
ユーザー名 | ansible | Playbook実行対象のユーザー名を指定。今回は「ansible」とした。 |
パスワード | 指定したユーザのパスワード | 上記で指定したユーザのパスワードを指定する。 |
5. ジョブテンプレートの作成
左メニューの「リソース」→「テンプレート」→「追加」ボタン→「新規ジョブテンプレートの追加」を選択する。
これまでに作成した「プロジェクト」、「インベントリー」、「認証情報」を利用して、ようやく実際にPlaybookを実行するための「ジョブテンプレート」を作成することができる。
設定項目 | 設定値 | 説明 |
---|---|---|
名前 | Test Job | 任意の名前を指定。 |
ジョブタイプ | 実行 | 「実行」または「チェック」を選択できる。今回は「実行」を指定する。 |
インベントリー | Test Inventory | 作成したインベントリーを指定する。 |
プロジェクト | GitHub Test | 作成したプロジェクトを指定する。 |
Playbook | win_ping.yml |
実行するPlaybookを指定する。もし何も表示されない場合は、きちんとGitHubの情報が連携されてないため、再度設定を確認しよう。 |
認証情報 | Test User | 作成した認証情報を指定する。 |
6. Ansible AWXでPlaybookを実行
それでは実際にジョブテンプレートを起動してPlaybookを実行してみよう。
作成したジョブテンプレートの左側にある「テンプレートの起動」ボタンを押すことでジョブテンプレートを実行できる。
実行結果がすべて「OK」となっており、問題なくPlaybook実行に成功していることを確認できる。
以上で、Ansible AWXを用いたPlaybookの実行は完了となる。
0 件のコメント:
コメントを投稿