😀

今日作りたくなる簡単cookbook [Kim'sキッチン] timezone

2022/11/28に公開

以下全ても●みち風に書いたメモ

皆さんおはようございます。
ryurock@githubです。

フガすけ(14歳)
timezoneの設定変えたいっす

今日はそんなtimezoneを変更する簡単なcookbookをknife-soloでご紹介したいと思います。

レシピ作成時間

約2分

環境

  • mac-osx(ホストOS)
  • centos6.4-x86-minimal (ゲストOS)

事前準備に必要なもの

参考にしたサイト(書籍)

[その1] レシピ名を決める

今回のレシピ名はtimezoneで行きましょう

cd chef-repo
knife cookbook create timezone -o site-cookbooks

[その2] chef-repo/timezone/recipes/default.rbを編集

chef-repo/timezone/recipes/default.rb
template "/etc/sysconfig/clock" do
  notifies :run, "execute[timezone_update]", :immediately
end

execute "timezone_update" do
  command "cp /usr/share/zoneinfo/Japan /etc/localtime"
  action :nothing
end

[その3] timeozoneの設定をtemplateに書く

シンプルです。

chef-repo/timezone/templates/default/clock.erb
ZONE="Asia/Tokyo"

やっていることは

  • timezoneの設定をコピー
  • /etc/sysconfig/clockを日本時間に変更

です。

Chef Resourcesを使用した

で実行します。

[その4]rbenv cookbookをリモート側で実行する設定を追加

vim chef-repo/nodes/{接続名称(任意)}.json

{"run_list":[
        "timezone"
]}

run_listをすでに記載している場合は追記でお願いします。
またrbenvのインストールのみで問題ないならrbenvだけでも問題ないです。

[その5] リモート側に実行依頼をする

cd chef-repo
knife solo cook {接続名称(任意)}

今日はこれで決まり「timezone」の完成です

簡単にtimezoneの設定が変更できますね。
厳密にやりたい場合はattibuteなどもつかってみてください。

使ったChef Resources


ソースをgithubに置いてあります。
https://github.com/ryurock/chef-timezone

Discussion