LoginSignup
4
5

More than 5 years have passed since last update.

VagrantでAnsible Towerの仮想マシンを作りましょう

Last updated at Posted at 2018-04-03

VagrantでAnsible Towerの仮想マシンを作りましょう

自分の環境に合わせて、Vagrantfileを変更し、vagrant upするだけで
Ansible Towerが使える状態になります。
所要時間、15 - 30分。

ソースはgithub上に公開しましたので、最初にgit cloneしてください。

git clone https://github.com/jian-feng/vagrant-ansible-tower
cd vagrant-ansible-tower

テスト済みバージョンの組み合わせ

自分の環境に合わせて調整

Vagrantfileを自分の環境に合わせて変更します。

vi Vagrantfile

Ansible Tower v3.2.3(2018/4/3時点最新版)をインストールするなら、
$hostname$private_ipだけを変えれば良い。
異なるバージョンをインストールするなら、download_urlinstall_fileも変更してください。

Vagrantfile
$hostname = "tower-3-2-3"
$private_ip = "192.168.33.40"
$tower_bundle_download_url = "https://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-3.2.3-1.el7.tar.gz"
$tower_bundle_install_file = "ansible-tower-setup-bundle-3.2.3-1.el7.tar.gz"

試用版ライセンスの準備(後でも良い)

https://www.ansible.com/licenseにアクセスし、試用版ライセンスファイルを申請しましょう。簡単な情報入力して、後ほど、ライセンスファイルがメールで送ってくれます。

Workflow機能を使いたい場合は、"FREE ANSIBLE TOWER TRIAL - ENTERPRISE FEATURES"を選択してください。

Towerエディションの違いは、ここをご参照ください。

ライセンスファイルが届いたら、lisence.txtにリネームして、最初にgit cloneしたディレクトリ(vagrant-ansible-tower)においてください。
自動インストールの際に、このライセンスファイルをTowerにセットしてくれます。

ライセンスファイルの届くのが遅れるかも知れませんので、先に進んでも大丈夫です。あとで、ブラウザでAnsible TowerのWeb GUIにアクセスしてライセンスをアップロードできます。

いよいよ実行です

vagrant upを実行するだけです。

暫く(15 - 30分)すると、メッセージ"The setup process completed successfully"が出れば、Ansible Towerが使える状態となります。

default: PLAY RECAP *********************************************************************
default: localhost                  : ok=131  changed=62   unreachable=0    failed=0
default: The setup process completed successfully.
default: Setup log saved to /var/log/tower/setup-xxxxxx.log

動作確認

  • ブラウザで https://{前述の$private_ip} へアクセスしてください。
    • USER: admin
    • PASS: password

ブラウザでアクセスの際に“この接続ではプライバシーが保護されません”という警告が表示されます。これは、Ansible Towerがデフォルトで自己証明書を使っているから。優しく許可してあげてください。

  • プロジェクトを作成します。

プロジェクトタブにて、新規プロジェクトを以下のように作成します。

項目 設定値
名前 demo
SCMタイプ 手動
PLAYBOOKディレクトリー demo

※記述以外の設定は初期値のままで構いません。

  • ジョブテンプレートを作成します。

テンプレートタブにて、新規ジョブテンプレートを以下のように作成します。

項目 設定値
名前 hello
インベントリ Demo Inventory
プロジェクト demo
PLAYBOOK hello.yml
認証情報 Demo Credential

※記述以外の設定は初期値のままで構いません。

  • ジョブテンプレートを実行します。

テンプレートタブにて、先程作成したジョブテンプレートを実行して、
実行ステータスが”成功”であることを確認します。

続きは...

仮想マシン内のディレクトリ/var/lib/awx/projectsがホスト側の./projectsにSyncしていますので、ホスト側の好きなエディタで./projects/配下にサブディレクトリを作って、Playbookを開発すれば、Ansible Towerでも見えるになります。

以下のコンテンツを参考しながら、練習しましょう。
- 日本語概要:Ansible Tower利用ガイド
- 英語ワークショップ:ansible/lightbulb

仮想マシンが不要になったら

  • vagrant haltを実行して、仮想マシンをシャットダウンします。再度vagrant upで起動できます。
  • vagrant destroyを実行して、仮想マシンを削除します。

補足: Enable remote access to postgresql

You can ssh into guest vm as user vagrant (vagrant ssh), then run command below.

# Enable remote access
echo "host  all  all  0.0.0.0/0  md5" | sudo tee -a /var/lib/pgsql/9.6/data/pg_hba.conf
# Restart service
sudo systemctl restart postgresql-9.6

Now, you can access awx db as from host os.

psql -h {前述の$private_ip} -W awx awx
# Password is password
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5