ダメSE uramonの奮闘記

インフラ関連技術など

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ファイルをダウンロードして展開するだけ。