VagrantとVirtualBoxでAnsible Towerをインストールしてみた
事前にVagrantとVirtualboxをインストールしておく。
以下のコマンドを実行し、CentOS7系のboxを入手する。
$ mkdir tower $ cd tower $ vagrant init bento/centos-7.2 $ vagrant up
Ansible TowerはRAMが2GB以上でないと動かないのでVagrantfileに以下の内容を追記する。
$ vim Vagrantfile config.vm.provider "virtualbox" do |vb| vb.memory = "2048" end
また、以下の行のコメントアウトを外して、IPアドレスの設定も行なっておきます。
config.vm.network "private_network", ip: "192.168.33.10"
ここまでできたら、AnsibleとAnsibleTowerをそれぞれインストールする。
Ansible Towerのインストールに関しては以下のページに詳細に書いてあったので、参考にさせてもらいました。
まず、Ansibleをインストール時、EPEL リポジトリを使用するため以下を実行して有効化します。
$ sudo yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Ansible Tower インストール時に以下のリポジトリが必須のため、yum-config-managerで有効化します。
$ sudo yum -y install yum-utils (yum-config-managerが入っていない場合のみ) $ sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
パッケージを最新の状態にする。
$ sudo yum update
Ansibleをインストールする。
$ sudo yum install ansible wget
Ansible Tower をインストール及び解凍する。
$ wget http://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-latest.tar.gz $ tar xvzf ansible-tower-setup-latest $ cd ansible-tower-setup-【バージョン】
Inventoryファイルを編集し、パスワードを設定する。
$ vi inventory admin_password='【パスワード】' pg_password='【パスワード】' rabbitmq_password='【パスワード】'
$ sudo ./setup.sh
セットアップが成功したら、実際にプレイブックを実行してみます。
プレイブックの実行に関しては以下のスライドを参考にさせてもらいました。
Ansible tower 構築方法と使い方
以下のコマンドでIPアドレスを確認してブラウザでアクセスします。ユーザー名はadmin、パスワードは先ほどInventoryファイルに記載したものでログインすることができます。
$ ip a
ブラウザでアクセスするとライセンスを要求されるので画面の指示にしたがって必要事項を記入していきます。
[プロジェクト]タブをクリックすると、Demo Projectというプロジェクトがデフォルトで用意されていることがわかります。
このプロジェクトはHello Worldを表示するだけのものであり、以下からPlay Bookの取得を行なっています。 (ジョブ実行後に/var/lib/awx/projects
以下に配置されています。)
GitHub - ansible/ansible-tower-samples: Ansible Tower Playbook Samples
実際に[テンプレート]タブをクリックし、ロケットマークのジョブ実行アイコンをクリックします。
正しくJobが成功すると、Hello World! が表示されます。