目的
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を編集して、初回起動時にシェルが起動するようにしましょう。
# 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のインストールを記述しましょう。
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で環境を構築するのは次回になります。
お疲れさまでした。