- 公開日: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 件のコメント:
コメントを投稿