LoginSignup
3
4

More than 5 years have passed since last update.

windowsでvagrantで作成したゲストOSにansible入れてみる。

Posted at

目的

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で環境を構築するのは次回になります。
お疲れさまでした。

3
4
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
3
4