Vagrant + Ansible $vagrant upだけで環境構築 その2

  • このエントリーをはてなブックマークに追加
  • Pocket

前のVagrant + Ansibleでの環境構築の続き。
前回は各マシンにAnsibleのインストールが必要だったため、$vagrant upのみとは言えない。

また、WindowsホストではAnsibleがサポートしていないので詰むことになる。

AnsibleをゲストOSで動かすように設定して、OS関係なく完全に$vagrant upのみで環境構築を行う備忘録。

git cloneは?
というのはとりあえず無しだ!

環境

  • ホスト:Mac OS X 10.11.1
  • ゲスト:Ubuntu 14.04
  • VirtualBox 5.0.10
  • Vagrant 1.7.4
  • Ansible 2.0.0.2

やりたいこと

  • 本当に $vagrant up のみで環境構築を完了させる
  • ホストOSを気にしない

はじめに

やっぱり頼りになるぜQiita.

AnsibleをゲストOSに押し込んでVagrant環境構築する

これを参考に、、、
というかほぼこの通りにやればOK.

要点としてはこんな感じ。

  • ゲストOSがLinuxなのでAnsibleをインストールできる
  • playbookをゲストと共有フォルダでマウント
  • プロビジョニングでゲスト自身にplaybookを実行する

構成

もろMyリポジトリの中身ですが、、
Ansibleのrolesを使用。

Vagrantfile

上記のansibleディレクトリを共有するわけだが、
マウントオプションをつけないとゲストでAnsibleを動かす際にhostsが読み込めないらしい。

provision.sh

プロビジョニングで走らせるShellスクリプト。
これでゲストにAnsibleをインストールして、マウントしたplaybookたちを実行させる。

ちなみにAnsibleはpipでインストール。
aptでもインストール可能だが、Ansibleのバージョンが低かったためpythonにした。

hosts

ゲストで動かすためローカルに対して実行するように設定。

これでOS問わず $vagrant upのみで構築できるぜ!

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*