10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Chefのお勉強 〜Vagrant & Chef 導入編〜

Last updated at Posted at 2015-07-16

概要

立派な Chef になりたいので、Vagrant を導入し、仮想環境で Chef Solo のお勉強をしてみたいと思います。
まずは Vagrant と Chef の導入を行ってみます。

Chef とか全く触ったことない!とりあえず触ってみたいけど、試しに触るための導入ってどうしたら良いの!?と言った人向けです。

環境は OS X Yosemite 10.10.4 で行っています。

Vagrant

まずは Vagrant を導入します。環境構築を便利にしてくれる素敵なツールです。

インストール

以下の2つのソフトを公式サイトからダウンロードしインストールします。

  • VirtualBox
  • Vagrant

インストールができているかどうかvagrant -vを叩いてみて確認してみます。

$ vagrant -v
Vagrant 1.7.3

入りました!

Vagrant box add

仮想イメージ Bento から Vagrant に追加します。
Vagrant 用 OS イメージは「box」と呼ばれるているそうです。

今回は CentOS 7.1 を選択します。

$ vagrant box add opscode-centos-7.1 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.1_chef-provisionerless.box

Vagrant up

まずはvagrant initを叩き Vagrantfile という設定ファイルをカレントディレクトリに作成します。
カレントディレクトリにできるとのことだったので、~/work/chef-exerciseというディレクトリを作ってそこで実行しました。

$ vagrant init opscode-centos-7.1

Vagrantfile のファイルの中身な以下のコードと大量のコメントとなっていました。

Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "opscode-centos-7.1"
end

ちゃんと設定したくなったら色々読んでみます。

vagrant upを叩けば仮想サーバが起動します。

$ vagrant up

仮想サーバへのログインはvagrant sshで行えます。

$ vagrant ssh
Last login: Sat Apr  4 08:04:39 2015 from 10.0.2.2
[vagrant@localhost ~]$

入れました!

ちなみに、サーバの停止はvagrant halt、サーバの破棄はvagrant destroyで行えるそうです。

SSH configuration

ssh <hostname>でログインしたいので、~/.ssh/configに設定を記載します。
ssh config 用の設定はvagrant ssh-configで出力できるそうです。

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/necojackarc/work/chef-exercise/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

下記の通り叩けば、~/.ssh/configに設定を追記できます。
今回はホスト名をchef-exとしました。

$ vagrant ssh-config --host chef-ex >> ~/.ssh/config

試しに入ってみます。

$ ssh chef-ex
Last login: Thu Jul 16 05:12:38 2015 from 10.0.2.2
[vagrant@localhost ~]$

ログイン大成功!

Network configuration

現在 localhost の 2222番ポートに接続しているので、プライベートネットワーク設定を行い、Private IP を割り当てます。

Vagrant のプライベートネットワーク設定に関する説明は以下の記事が良さそうでした。

Vagrantfile 内で network で検索したら該当箇所が見つかったため、これのコメントアウトを外します。

Vagrantfile
  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network "private_network", ip: "192.168.33.10"

設定反映のために再起動します。

$ vagrant halt
$ vagrant up

試しに接続してみます。

$ ssh -i /Users/necojackarc/work/chef-exercise/.vagrant/machines/default/virtualbox/private_key vagrant@192.168.33.10
Last failed login: Thu Jul 16 05:34:15 UTC 2015 from 192.168.33.1 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Thu Jul 16 05:33:18 2015 from 10.0.2.2
[vagrant@localhost ~]$

できましたー!!

Chef Solo

仮想マシンにログインし、Chef をインストールします。
Chef Solo は Chef に付属しているそうです。

$ vagrant ssh
$ curl -L https://www.opscode.com/chef/install.sh | sudo bash

動作確認します。

$ chef-solo -v
Chef: 12.4.1

入った入った!

まとめ

導入はあっさり終わりました。
次は資料を参考に実際に Chef を触ってみたいと思います。

立派なシェフ目指して進み始めます……!

次回

ChefでCentOS7にMySQLを導入する方法

参考

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?