Chef Serverをインストールしてみる
今回は、Chef SoloではなくChef Serverをインストールしてみたいと思う。
Chef Serverのインストールフロー
① Chef Serverのパッケージ準備
今回は、Ver11のRPMを利用してインストールする。OPSCODE社のホームページから、RPMをダウンロードしておく。
ちなみに、今回選んだ環境とバージョンは以下の通り。
[Operating System] Enterprise Linux
[Version] 6
[Architecture] x86_64
[Chef Version] 11.4.0-1
② Chef Serverのインストール
まずは、先ほどダウンロードしたRPMでChef Serverをインストールする。
# rpm -ivh chef-server-11.0.6-1.el6.x86_64.rpm : Thank you for installing Chef Server! The next step in the install process is to run: sudo chef-server-ctl reconfigure |
Centos6でデフォルトで起動しているqpidd(AMQPプロトコルをApacheに実装させる為のデーモン)を停止する。
※停止させないとRabbitMQが起動できず、この後のChef Serverの起動に失敗する。
# service qpidd stop & chkconfig --del qpidd : [1]+ 終了 service qpidd stop |
"chef-server-ctl"コマンドでChefの初期設定を行う。
# chef-server-ctl reconfigure : chef-server Reconfigured! |
Chef Serverを起動する。
# chef-server-ctl restart : ok: run: rabbitmq: (pid 16441) 0s |
③ knifeの初期設定
knifeコマンドを使用し、knifeの初期設定を行う。
3行目のURLは、http~ではなく、https~なので注意が必要。あと、ポート番号も4000ではなく、443(省略可能)である。又、6行目、8行目のパスは、/etc/chef/~ではなく、/etc/chef-server/~なので、こちらも注意。細々とトラップが。。
どうやらこれらは前バージョンまでの情報で、互換性を保つ為にデフォルト値になっているらしい。
# knife configure -i WARNING: No knife configuration file found Where should I put the config file? [/root/.chef/knife.rb] Please enter the chef server URL: [http://ホスト名:4000] https://Chef ServerのIPアドレス Please enter a name for the new user: [root] Please enter the existing admin name: [admin] Please enter the location of the existing admin's private key: [/etc/chef/admin.pem] /etc/chef-server/admin.pem Please enter the validation client name: [chef-validator] Please enter the location of the validation key: [/etc/chef/validation.pem] /etc/chef-server/chef-validator.pem Please enter the path to a chef repository (or leave blank): /opt/chef-repo Creating initial API user... Please enter a password for the new user: Created user[root] Configuration file written to /root/.chef/knife.rb |
④ Chefリポジトリ作成
Chefリポジトリを所定のディレクトリ(今回は、/opt/chef-repo)に作成する。Githubからzipファイルをダウンロードして展開するだけ。