はじめに
- 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 upBringing 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=0vagrant sshsu -cat /var/log/yum.logで vim-enhanced がインストールされていることを確認した。
おわりに
上記コードにたどり着くまで、思った以上に時間を使いました><。
Ansible の勉強がしたくて最低限の環境と思って取り組みましたのに、そのために Ansible の知識が前提とされているような感覚を味わいましたわ><。
他のサンプルとして、次のページが参考になりました!ありがとう存じます♪
以上です。
