LoginSignup
4
5

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