4
5

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実践入門 実機にて実施メモ(2) コミュニティクックブックを knifesolo + Berksfile で活用

Last updated at Posted at 2015-06-10

Chef実践入門 第4章のコミュニティクックブックの活用 を実機にて検証したメモ

#0.環境前提
ホストOS: MacOSX knife solo インストール済み、knife solo initでリポジトリ作成済み
ゲストOS: Vagrant+birtualbox(cenos)で構築済み

#1.コミュニティクックブックの検索方法

##1. Webサイトにて検索
https://supermarket.chef.io/cookbooks-directory
##2. コマンドラインから検索

```bash:
#クエリ指定したキーワードで検索
knife cookbook site search <クエリ>
#指定したクックブックの詳細を見る
knife cookbook site show <クックブック名>
```

ex) Apache2を例に検索

+ キーワードapache2で検索

```bash:
knife cookbook site search apache2
```

##3. 結果は以下(抜粋)

apache2:
cookbook:             https://supermarket.chef.io/api/v1/cookbooks/apache2
cookbook_description: Installs and configures all aspects of apache2 using Debian style symlinks with helper definitions
cookbook_maintainer:  svanzoest
cookbook_name:        apache2

##4. 上記のクックブック名(coocbook_name) apache2の詳細を見る

knife cookbook site show apache2

##5. 結果は以下(抜粋)

	category:           Other
	created_at:         2009-10-25T23:47:55.000Z
	deprecated:         false
	description:        Installs and configures all aspects of
	apache2 using Debian style symlinks with helper definitions
	external_url:       https://github.com/svanzoest-cookbooks/apache2/
	foodcritic_failure: true
	issues_url:         https://github.com/svanzoest-cookbooks/apache2/issues
	latest_version:     https://supermarket.chef.io/api/v1/cookbooks/apache2/versions/3.1.0
	maintainer:         svanzoest
	name:               apache2
	source_url:         https://github.com/svanzoest-cookbooks
	apache2/up_for_adoption:    
	updated_at:         2015-05-25T19:14:18.433Z

★更新頻度、最終更新日、メンテナ等確認

#2.Berkshelfによるクックブックのインポート

  • knife-solo利用時には、Berkshelfというツールを使ってコミュニティクックブックをインポートする。
    以下、試しにyum-epel,apache2,mysqlのクックブックをBerkshelfによってインポートし、Vagrant環境のノードに適用。

##1. chefのリポジトリディレクトリ内にある Berksfile(設定ファイル)を更新

Berksfile
site :opscode
cookbook 'yum-epel'
cookbook 'apache2'
cookbook 'mysql'

##2. berksコマンドを実行

berks

berksコマンドを実行すると、~/.berkshelf/cookbooks ディレクトリ内に依存関係のあるクックブックも含めてダウンロードされる。また、Berksfile.lockというJSONファイルも更新される。このBerksfile.lockをもとにberksコマンドは利用するクックブックのバージョンを判断する。

##3. ~/.berkshelf/cookbooksディレクトリ内確認

ls -la  ~/.berkshelf/cookbooks

##4.Berksfile.lockの中身

Berksfile.lock
DEPENDENCIES
apache2
mysql
yum-epel
GRAPH
apache2 (3.1.0)
mysql (6.0.22)
  smf (>= 0.0.0)
  yum-mysql-community (>= 0.0.0)
rbac (1.0.3)
smf (2.2.7)
  rbac (>= 1.0.1)
yum (3.6.1)
yum-epel (0.6.0)
  yum (~> 3.0)
yum-mysql-community (0.1.17)
  yum (>= 3.0)

##5.nodeオブジェクトへクックブックを追加 (yum-epelとapache2)

node名.json
{
"run_list": [
"recipe[yum-epel]",
"recipe[apache2]"
]

##6.knife solo bootstap を実行

knife solo bootstrap webdb(ノードのvagrantマシン名)

chefsolo,epel,apache2がvagrantのゲストマシンにインストールされる。

##7.確認

vagrant ssh
ps auxw | egrep "httpd"
yum list | grep epel
4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?