VagrantでAnsibleを使ってみる
VagrantでAnsibleを使ってみる。
ChefのCentOS6.5で初期化する。
$ vagrant init chef/centos-6.5
IPアドレスを設定し、
ansibleの設定を追加する。
$ vi Vagrantfile ・・・ VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ・・・ config.vm.box = "chef/centos-6.5" ・・・ config.vm.network "private_network", ip: "192.168.33.10" ←追加 ・・・ config.vm.provision :ansible do |ansible| ←追加 ansible.limit = "all" ansible.playbook = "playbook.yml" ansible.inventory_path = "hosts" end ・・・ end
hostsファイルを作成し、設定したIPアドレスを記述する。
$ vi hosts 192.168.33.10
プレイブックを作成する。
今回はApacheをインストールする。
$ vi playbook.yml --- - hosts: all sudo: yes tasks: - yum: name=httpd state=latest - service: name=httpd state=started enabled=yes
起動する。
$ vagrant up
http://192.168.33.10/
にアクセスすると、Apacheのページが表示される。
ansible.limit = "all" の指定がないと、下記のようなエラーになる。 ERROR: provided hosts list is empty Ansible failed to complete successfully. Any error output should be visible above. Please fix these errors and try again. なぜ指定しないといけないのかは、よく分かっていない。