VagrantとAnsibleでCentOSの環境を用意してみる
Vagrantを使ってCentOS6.5の環境を構築し、ゲストOS側でAnsibleを実行してインストールしてみる。
※VirtualBoxとVagrantは既にインストール済みの状態です。
※Macの環境で試していますが、Windowsでも似たような感じかと思います。
【参考】 Windows - AnsibleをゲストOSに押し込んでVagrant環境構築する - Qiita http://qiita.com/progre/items/ccc2d8c2ec7ae8a4ed61 WindowsでVagrantとAnsibleを使ってみた話 | もやし工房 http://www.moyashi-koubou.com/blog/vagrant_ansible_windows/
CentOSのインストール
Vagrantfileを作成し、
mac$ vi Vagrantfile
Vagrant.configure("2") do |config| config.vm.box = "chef/centos-6.5" config.vm.network "private_network", ip: "192.168.33.10" end
CentOSを起動する。
mac$ vagrant up
Ansibleのインストール
CentOSにログインし、
mac$ vagrant ssh
Ansibleをインストールする。
$ sudo rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo yum install -y ansible
あと、libselinux-pythonもインストールしておく。
$ sudo yum install -y libselinux-python
selinuxがdisabledで無い場合、「libselinux-python」がインストールされていないと、 ansible実行時に下記のエラーが出る。 msg: Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!
Ansibleを試す
今回は試しにslコマンドをインストールしてみる。
playbookを作成し、
$ vi playbook.yml
--- - hosts: 127.0.0.1 connection: local sudo: yes tasks: - name: slのインストール yum: name=sl
実行する。
$ ansible-playbook playbook.yml
文字コードがUTF-8じゃないと ERROR: Could not parse YAML. Check over /vagrant/playbook.yml again. のエラーが出るので注意。
slコマンドがインストールされているのが確認できる。
$ sl