Chef Zero + Knife Zero

Pocket

今回はChefを使ってApacheをインストールしてみます。
chefはシステム構築を自動化するもので、クライアント・サーバ形式のChef serverとスタンドアロン形式のChef Soloがあり、
ある程度小規模であればChef Soloを進める情報も多かったのですが、
Chefの公式でChef Soloはオワコンなので、Chef Client Local Modeを使ってねということなので、
Chef Zeroを勉強していこうと思います。

それぞれの違いについては下記のサイトが分かりやすかったので
ここでは省略。

http://www.atmarkit.co.jp/ait/articles/1502/10/news050.html

インストールするもの

  • ChefDk
  • chef-zero
  • knife-zero

ChefDkのインストール

curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -P chefdk

オプションで chefdk を付けないとchefコマンドが使えません

chef-zero knife-zeroのインストール

chef gem install knife-zero chef-zero json --no-ri --no-rdoc

knifeの初期設定

knife configure

対話式で設定を聞かれますが、デフォルト設定のままで問題なので
全てEnterで進めてください。
完了すると~/.chef/knife.rbに設定ファイルが保存されます。
今回はChefのローカルモードを利用するので、
生成された ~/.chef/knife.rb の一番最初に下記の1行を追加してください。

local_mode true

リポジトリの作成

Node構成を管理するためのchefリポジトリを作成します。

chef generate repo chef-repo

chef-repo はリポジトリ名なので好きな名前を設定してください。

cookbookの作成

下記のコマンドで雛形が出来ます。

knife cookbook create httpd

自作したcookbookはcookbooksではなく、
site-cookbooksに配置することを推奨していることが多かったのですが、
現在はChef-Zeroの仕様でsite-cookbooks配下は参照しないようです。

Recipeの作成

vim cookbooks/httpd/recipes/default.rb

今回はサンプルでhttpdをインストールさせます。

#
# Cookbook Name:: httpd
# Recipe:: default
#
# Copyright 2015, YOUR_COMPANY_NAME
#
# All rights reserved - Do Not Redistribute
#
package "httpd" do
  action :install
end

対象ノードの設定

ChefではChefで管理するPCのことをノードと呼んでいます。 knife zero bootstrap [対象PCのIP] –ssh-password [パスワード] –sudo -N 任意のノード名

knife zero bootstrap 192.168.10.103 --ssh-password vagrant --sudo -N local-node

ノードが設定されているか下記のコマンドで確認できます。

knife node list

nodeに実行するCookbookを追加します。

knife node run_list add local-node httpd

レシピの適用

ノードに対してレシピを適用します。

knife zero chef_client name:[ノードのhostname] --attribute ipaddress --ssh-password [パスワード] ?sudo
knife zero converge name:local-node --attribute ipaddress --ssh-password vagrant ?sudo

インストールの確認

httpdが起動できればOK!!

sudo service httpd start

次はもう少し複雑なものをやってみます。



Post Footer automatically generated by Add Post Footer Plugin for wordpress.

びのっち

関東圏で活動しているとてもマイペースなSEです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*