• Chefで既存手順のレシピを書く5(munin、zabbix)

    おつかれさまです。小宮です。 前回に引き続き、munin,zabbixの手順のレシピをご紹介します。レシピはこの記事でおしまいです。 記事の最後にはレシピの適用方法を記載します。 ・muninのレシピ # cd /opt/src/rpms # mkdir -p /root/chef-repo/site-cookbooks/munin/files/default/rpms # mkdir -p /root/chef-repo/site-cookbooks/munin/files/default/var/www/html/munin # mkdir /root/chef-repo/site-cookbooks/munin/files/default/etc/munin/plugin-conf.d # cp -p /etc/munin/munin.conf /root/chef-repo/site-cookbooks/munin/files/default/etc/munin/ # scp -Cp xxx-web01:/etc/munin/munin-node.conf /root/chef-repo/site-cookbooks/munin/files/default/etc/munin/ # cp -p /var/www/html/munin/.htaccess /root/chef-repo/site-cookbooks/munin/files/default/var/www/html/munin/ # cp -p /etc/munin/plugin-conf.d/munin-node /root/chef-repo/site-cookbooks/munin/files/default/etc/munin/plugin-conf.d/ # tar cf /root/chef-repo/site-cookbooks/munin/files/default/rpms/munin-node-rpm.tar ./munin-node-rpm/ # tar tf /root/chef-repo/site-cookbooks/munin/files/default/rpms/munin-node-rpm.tar ./munin-node-rpm/ # tar cf /root/chef-repo/site-cookbooks/munin/files/default/rpms/munin-serv-rpm.
    ...
  • Chefで既存手順のレシピを書く4(DBサーバ)

    おつかれさまです。小宮です。 前回に引き続きdbserverのレシピについて書いていきます。 のこってるのはmunin、zabbxとserverspecでのテストだけです。もうすこしの辛抱です。 webと同じくバージョン固定インストールなので、外部レシピは基本的に使わない方向とする ・mysqlのインストールと起動と自動起動の有効化 [shell]# cd /root/chef-repo/site-cookbooks/mysqld/recipes mkdir -p /root/chef-repo/site-cookbooks/mysqld/files/default/usr/local/src/rpms mkdir -p ../templates/default/etc/init.d mkdir -p ../files/default/etc/init.d mkdir -p ../files/default/root mkdir -p /root/chef-repo/site-cookbooks/mysqld/files/default/etc/logrotate.d mkdir -p /root/chef-repo/site-cookbooks/mysqld/files/default/opt/{backup,bin} scp -Cp xxx-db02:/opt/bin/mysql-back.sh /root/chef-repo/site-cookbooks/mysqld/files/default/opt/bin/ cp -p /etc/logrotate.d/mysqld /root/chef-repo/site-cookbooks/mysqld/files/default/etc/logrotate.d/ scp -Cp xxx-db01:/etc/init.d/mysqld ../files/default/etc/init.d/ scp -Cp xxx-db02:/etc/my.cnf ../templates/default/etc/ cp -p /root/.path_to_file ../files/default/root/ cd /opt/src/rpms/ tar czf /root/chef-repo/site-cookbooks/mysqld/files/default/usr/local/src/rpms/db-rpm.
    ...
  • Chefで既存手順のレシピを書く3(WEBサーバ)

    こんにちは。プラットフォームの小宮です。 前回に引き続き既存手順のレシピ化をすすめていきます。あと3回くらいだと思われるので気長におつきあいください。 今回はWEBサーバのレシピになります。 特別なことは特にしていなくて普通のwebサーバだと思いますが、一応何してるか書いておきますと、 apache2.2+php5.3系で中間コードキャッシュにAPCを使っていてwordpressとそのsshプラグインつかっておりAWSのS3にmountしています。 s3mountに使うfuseが最新版からソースコードで入れる必要があり、バージョン固定のphpのパッケージが18個くらいとかありまして 一つ一つpackageリソース書くのが面倒だったこともありましてscriptつかいました。 scriptつかうときはnot_if忘れるとmakeとか何回も実行されて困るので注意が必要です。 あとcd書き忘れると展開場所が認識してるとこに出ないのでその後の手順でファイルが存在しないエラーがでました。 ・httpdのレシピを書く 設定ファイルの準備をする [shell]# mkdir -p /root/chef-repo/site-cookbooks/httpd/files/default/rpms # tar cf /root/chef-repo/site-cookbooks/httpd/files/default/rpms/web-rpm.tar ./web-rpm/ # tar tf /root/chef-repo/site-cookbooks/httpd/files/default/rpms/web-rpm.tar ./web-rpm/ # cd /root/chef-repo/site-cookbooks/httpd/recipes # mkdir -p /root/chef-repo/site-cookbooks/httpd/files/default/etc/httpd/{conf,conf.d} # cp -p /opt/src/config/web/httpd.conf /root/chef-repo/site-cookbooks/httpd/files/default/etc/httpd/conf/ # vi /root/chef-repo/site-cookbooks/httpd/files/default/etc/httpd/conf/httpd.conf # mkdir -p /root/chef-repo/site-cookbooks/httpd/files/default/etc/php.d # cp -p /opt/src/config/php/php.ini /root/chef-repo/site-cookbooks/httpd/files/default/etc/ # cd /root/chef-repo/site-cookbooks/httpd/files/default/rpms # wget http://rpms.
    ...