aboutnagaishiの日記

テレコム屋さん出身で、現在はweb企業の社内インフラやっています。インフラ周りを中心に業務の備忘録として使用します。

vagrantで仮想環境立ち上げからansible実行まで

vagrantで仮想環境立ち上げからansible実行まで

仮想環境でさくっと試したいこととかあるときにansibleが便利だと聞いたので、とりあえず使ってみました。

ファイル

Vagrantfile

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centOS65Box"
  config.vm.network "forwarded_port", guest: 3000, host: 3000
  config.vm.network "private_network", ip: "192.168.33.11"
  config.vm.synced_folder "/host_data", "/home" # ローカルマシンと仮想環境のフォルダーをlinkさせる。
end

provision_vagrant.yml

---
 - hosts: all
   user: vagrant
   sudo: yes
   tasks: 
   - name: インストール
     yum: name={{ item }} state=installed
     with_items:
             - vim 
             - git

ansible.cfg

[defaults]
hostfile = ./hosts
remote_user = vagrant
private_key_file=/Users/hoge/.vagrant.d/insecure_private_key

手順

  1. vagrantを立ち上げる
  2. ansibleを実行
    • vagrant fileに記述することでまとめて実行できるらしいが、今回は1つずつ

結果

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centOS65Box'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: ruby-lesson_default_1423653776406_98290
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 3000 => 3000 (adapter 1)
    default: 22 => 2222 (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: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /ruby-lesson
    default: /home => /ruby-lesson/host_data
$ ansible-playbook provision_vagrant.yml

PLAY [all] ******************************************************************** 

GATHERING FACTS *************************************************************** 
ok: [192.168.33.11]

TASK: [インストール] ************************************************* 
changed: [192.168.33.11] => (item=vim,git)

PLAY RECAP ******************************************************************** 
192.168.33.11              : ok=2    changed=1    unreachable=0    failed=0  

tips

その他