Vagrantのboxの適用
以下を参考にboxの導入方法を確認しました。
■boxの適用
Box毎にディレクトリを分ける。
$ mkdir -p VagrantTest/testcentos
$ cd VagrantTest/testcentos
Boxの初期化
$ vagrant init chef/centos-6.5
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
ネットワークの有効化。
$ vim Vagrantfile
#config.vm.network "private_network", ip: "192.168.33.10"
↓
config.vm.network "private_network", ip: "192.168.33.10"
※IPアドレスを編集したところ、"vagrant up"でエラーとなったため、そのままコメントアウト。
$ grep -v -e '^\s*#' -e '^\s*$' Vagrantfile
Vagrant.configure(2) do |config|
config.vm.box = "chef/centos-7.1"
config.vm.network "private_network", ip: "192.168.33.10"
end
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'chef/centos-6.5' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'chef/centos-6.5'
default: URL: https://atlas.hashicorp.com/chef/centos-6.5
==> default: Adding box 'chef/centos-6.5' (v1.0.0) for provider: virtualbox
default: Downloading: https://atlas.hashicorp.com/chef/boxes/centos-6.5/versions/1.0.0/providers/virtualbox.box
==> default: Successfully added box 'chef/centos-6.5' (v1.0.0) for 'virtualbox'!
==> default: Importing base box 'chef/centos-6.5'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'chef/centos-6.5' is up to date...
==> default: Setting the name of the VM: testcentos65_default_1436103308988_60424
==> default: Fixed port collision for 22 => 2222. Now on port 2201.
==> 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: 22 => 2201 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2201
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if its present...
default: Key inserted! Disconnecting and reconnecting using new SSH 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 => /home/manatee/VagrantTest/testcentos65
※IPアドレスを変更したところ、以下のようにエラーとなった。ホストと同じセグメントするためには、パブリックネットワークの設定を行う必要がある。
Vagrantのネットワーク周りのあれこれ | Septeni Engineers' Blog | セプテーニ エンジニアブログ vagrantのネットワークについて - Qiita
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'chef/centos-7.1' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'chef/centos-7.1'
default: URL: https://atlas.hashicorp.com/chef/centos-7.1
==> default: Adding box 'chef/centos-7.1' (v1.0.0) for provider: virtualbox
default: Downloading: https://atlas.hashicorp.com/chef/boxes/centos-7.1/versions/1.0.0/providers/virtualbox.box
==> default: Successfully added box 'chef/centos-7.1' (v1.0.0) for 'virtualbox'!
==> default: Importing base box 'chef/centos-7.1'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'chef/centos-7.1' is up to date...
==> default: Setting the name of the VM: testcentos_default_1436101003101_87114
==> default: Fixed port collision for 22 => 2222. Now on port 2200.
==> default: Clearing any previously set network interfaces...
The specified host network collides with a non-hostonly network!
This will cause your specified IP to be inaccessible. Please change
the IP or name of your host only network so that it no longer matches that of
a bridged or non-hostonly network.
$ vagrant ssh
Last login: Fri Mar 7 16:57:20 2014 from 10.0.2.2
■ゲストOSの設定
ドットインストールにて用意されたスクリプトを実行。 Ansibleを利用して基本的な設定が一括して行われる様子。
gitをインストール
$ sudo yum -y install git
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: ftp.tsukuba.wide.ad.jp
* extras: ftp.tsukuba.wide.ad.jp
* updates: ftp.tsukuba.wide.ad.jp
:
:
ドットインストールのスクリプトをダウンロード
$ git clone https://github.com/dotinstallres/centos65.git
Initialized empty Git repository in /home/vagrant/centos65/.git/
remote: Counting objects: 89, done.
remote: Total 89 (delta 0), reused 0 (delta 0), pack-reused 89
Unpacking objects: 100% (89/89), done.
スクリプトを実行
$ cd centos65/
$ ./run.sh