2016年1月26日火曜日

chef chef-client Local modeを利用する chef-soloからの移行 その4. 古いchefを削除して最新のchefに入れ替える

  • 公開日:2016年01月26日

記事概要


ずっと放置していたchefの移行作業の詳細記事です。最新のchef-dkに入れ替える方法です。

環境

  • rbenv
  • chef
  • vagrant centos6.5

はじめに

前回までで、chef-client Local modeの使い方を覚えたので、実際に検証環境(vagrant)で移行します。

dd

既存のchefのバージョンチェック

既存のchefのバージョンをチェックします。

terminal

// rpm check
rpm -qa | grep chef
chefdk-0.3.2-1.x86_64

// chef version
chef -v
Chef Development Kit Version: 0.3.2

だいぶ古いです。一年半くらいにinstallしたchefです。
まずはsoloで動かして、動作することを確認します。

terminal

cd {chef-repo_base}

knife solo cook 192.168.33.12

問題なく動作することを確認しました。

既存のchefを削除

terminal

// 削除します。
yum remove chefdk-0.3.2-1.x86_64

// 削除を確認します。
rpm -qa | grep chef

正常に削除しました。

最新のchefをinstall

terminal

// chefdk rpmを取得
wget https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chefdk-0.10.0-1.el6.x86_64.rpm

// chefdk rpm install
sudo rpm -Uvh chefdk-0.10.0-1.el6.x86_64.rpm

設定ファイルknife.rbの変更

設定ファイルknife.rbを修正します。pathを変更します。

{chef-repo_base}/.chef/knife.rb

cookbook_path    ["/home/vagrant/chef-solo-repo/cookbooks", "/home/vagrant/chef-solo-repo/site-cookbooks"]
node_path        "/home/vagrant/chef-solo-repo/nodes"
role_path        "/home/vagrant/chef-solo-repo/roles"
environment_path "/home/vagrant/chef-solo-repo/environments"
data_bag_path    "/home/vagrant/chef-solo-repo/data_bags"
#encrypted_data_bag_secret "data_bag_key"

knife[:berkshelf_path] = "/home/vagrant/chef-solo-repo/cookbooks"

これで設定完了です。

chef-client Local mode

chef-client Local modeで実行します。

terminal

// root化
su -

cd {chef-repo_base}

chef-client -z -j 192.168.33.12.json

正常に実行できます。

まとめ

rpmで導入している場合は、chefの削除はremoveコマンドで可能なので、あっさりと移植することが可能だと思います。

さて、これでchef-soloからchef Local modeへの移行は終了になります。
chefは癖のあるるツールですが、1,2年前と比べると飛躍的に使いやすくなっていると思います。

昔挫折した人や、見切りをつけた人ももう一度試してみてはいかかでしょうか。

以上です。

動画

How to use chef Tutorial 3
PICK UP
関連記事
参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...