カテゴリー
コンピューター

【Vagrant】ansible_local プロビジョナーを使った環境構築。最初の一歩!

はじめに

  • 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

確認

  1. 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   
    
  2. vagrant ssh
  3. su -
  4. cat /var/log/yum.log で vim-enhanced がインストールされていることを確認した。

おわりに

上記コードにたどり着くまで、思った以上に時間を使いました><。

Ansible の勉強がしたくて最低限の環境と思って取り組みましたのに、そのために Ansible の知識が前提とされているような感覚を味わいましたわ><。

他のサンプルとして、次のページが参考になりました!ありがとう存じます♪

以上です。

コメントを残す