はじめに
- Vagrant で Ansible を使って、プレイプックの記述内容を反映するはじめの一歩を踏み出したい。いわば Hello World!。Vagrant 環境を Ansible で構築する入門、環境の確認。
vagrant up
で起動した時に Ansible を使ってパッケージを構成していきたい。Ansible かを学習するためにホスト用、ゲスト用の仮想マシンとか複数の仮想マシンは要らない。- ベストプラクティスな記述方法、ディレクトリ構成でなくてよい。
動作が確認できた最低限の Ansible コード
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "oki2a24/centos-7-x86_64" config.vm.provision "ansible_local" do |ansible| ansible.playbook = "playbook.yml" end end
--- - hosts: default become: true tasks: - name: Update all packages yum: name=* state=latest - name: Install vim yum: name=vim-enhanced state=latest
確認
vagrant up
Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'oki2a24/centos-7-x86_64'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'oki2a24/centos-7-x86_64' is up to date... ==> default: Setting the name of the VM: hello-world_default_1487504367934_60082 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Remote connection disconnect. Retrying... ==> default: Machine booted and ready! [default] GuestAdditions 5.1.14 running --- OK. ==> default: Checking for guest additions in VM... ==> default: Mounting shared folders... default: /vagrant => /Users/oki2a24/vagrant-ansible/hello-world ==> default: Running provisioner: ansible_local... default: Installing Ansible... default: Running ansible-playbook... PLAY [default] ***************************************************************** TASK [setup] ******************************************************************* ok: [default] TASK [Update all packages] ***************************************************** changed: [default] TASK [Install vim] ************************************************************* changed: [default] PLAY RECAP ********************************************************************* default : ok=3 changed=2 unreachable=0 failed=0
vagrant ssh
su -
cat /var/log/yum.log
で vim-enhanced がインストールされていることを確認した。
おわりに
上記コードにたどり着くまで、思った以上に時間を使いました><。
Ansible の勉強がしたくて最低限の環境と思って取り組みましたのに、そのために Ansible の知識が前提とされているような感覚を味わいましたわ><。
他のサンプルとして、次のページが参考になりました!ありがとう存じます♪
以上です。