More than 1 year has passed since last update.

目的

yumとかで環境構築するの面倒だし、間違って環境壊すと再構築が大変。
構成管理ツールを使えば、簡単にできるよって言われた。

ゴール地点

Windowsでvagrantを利用して仮想マシンを用いて、構成管理ツールを使用できる状態にする。
今回は構成管理ツールが使用できるのを確認できるまでを行う。

前提条件

vagrantで仮想マシンが立ち上がるところまで確認できていること。
できていないかたはこちら

やりかた

ansible用のゲストOSを立てる方法とかもあると思うけど、楽するためシェルを使って、初回起動時にansibleを自動で入れてしまう方法をとる。

vagrantでBOXを追加して初期化する。

配布されているBOXお借りして、初期化までしてしまいましょう。
今回はなんとなくCentOS6.4で行きますが、違うものでも大丈夫です。
名前も適当につけてあげてください。

$vagrant box add vagrant_ansible https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box

適当なところに作業ディレクトりを作成して、初期化をしてしまいましょう。

$vagrant box init

Vagrantfileをいじってシェルが動くようにする。

ここからが本題です。
先ほどの初期化で作成されたVagrantfileを編集して、初回起動時にシェルが起動するようにしましょう。

Vagrantfile.
  # IPアドレスのところは忘れずにコメントを外す。
  config.vm.network "private_network", ip: "192.168.33.10"

  # Vagrantfileが配置されているディレクトリを、仮想OSのroot直下に複製し同期する。(とりあえずやっておくくらいの認識で今はOK)
  config.vm.synced_folder "", "/vagrant_data"

  # Vagrantfileが配置されているディレクトリの、provision.sh(シェル)を実行する。
  config.vm.provision :shell, :path => "provision.sh"

次に実行するprovision.shを、Vagrantfileと同じディレクトリに作成します。
pythonのインストールとansibleのインストールを記述しましょう。

provision.sh
sudo yum install -y epel-release
sudo yum install -y ansible

# 後々ここらへんにansibleの実行的なものを書く。

ここまで書けば、最初にvagrant upを行った際に、provision.shが実行されてansibleが使えるようになるはずです。

ansibleが入っているか確認する。

確認するために、下記のコマンドで仮想マシンを立ち上げましょう。
必ずVagrantfileのディレクトりに移動してから行ってください。
コマンドを実行すると、仮想マシンが立ち上がり、シェルによってansibleのインストールなどが始まります。

$vagrant up

もしも初回起動を済ましてしまった場合は、2回目以降の起動時にはシェルが動かないので、下記のコマンドで実行しましょう。
予めvagrant upで起動しておかないと動かないので注意が必要です。

$vagrant provision

立ち上がったら、自分の使用しているツールでSSH接続をしてみましょう。
ユーザ名:vagrant
パスワード:vagrant
IP:アドレス:192.168.33.10(config.vm.network "private_network"のやつ)

SSHで接続後に、ansibleを実行してcommand not foundが出なければ、とりあえず今回は完了です。

若干中途半端な気もしますが、ansibleで環境を構築するのは次回になります。
お疲れさまでした。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.