fbpx

Chef 11 Server Installer #opschef_ja

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

Chef 11 Server Installerとは

以前のChef Serverのインストール(Installing Chef Server)は、DebianとUbuntu以外はパッケージが提供されておらず、大変面倒でした。

Installing Chef Server on Debian or Ubuntu using Packages
Opscodeのレポジトリから、Chefをaptでインストールする。
Installing Chef Server using Chef Solo
Chef Clientをインストールし、chef-soloを用いてRubyGemsでインストールする。
Installing Chef Server Manually
必要なパッケージやソフトウェアを手動でインストールする。

2013年4日4日現在、Install Chefにて、RHELとUbuntu用に、Chef 11 Server のインストーラが提供されています。

  • RHEL 5, 6 (x86_64)
  • Ubuntu 10.04, 10.10, 11.04, 11.10, 12.04, 12.10 (x86_64)

に対応しており、プルダウンメニューを選ぶことでダウンロード可能となるパッケージ1つをインストールするだけで Chef 11 Server の環境が準備できるようになっています。

Chef 11 Server Installerの実行

筆者はCentOS 5, 6、Ubuntu 10.04 LTS, 12.04 LTSでしか検証を行っていませんが、実際にUbuntu 12.04 LTSにインストールを行ってみます。

なお、事前にインストール対象のホスト名、FQDNが適切に設定されていることを確認してください。
また、nginx や PostgreSQL などが別途インストールされ、標準的なポート番号を占有するため、それらのポートを専用で利用できる環境にChef Serverをインストールしてください。

ubuntu@ubuntu:~$ hostname 
ubuntu
ubuntu@ubuntu:~$ hostname --fqdn
ubuntu.example.jp
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ sudo dpkg -i chef-server_11.0.6-1.ubuntu.12.04_amd64.deb 
以前に未選択のパッケージ chef-server を選択しています。
(データベースを読み込んでいます ... 現在 79875 個のファイルとディレクトリがインストールされています。)
(chef-server_11.0.6-1.ubuntu.12.04_amd64.deb から) chef-server を展開しています...
chef-server (11.0.6-1.ubuntu.12.04) を設定しています ...
Thank you for installing Chef Server!

The next step in the install process is to run:

sudo chef-server-ctl reconfigure
ubuntu@ubuntu:~$

「Thank you for installing Chef Server!」とメッセージが表示されたらパッケージのインストールは成功です。しかし、このままではパッケージがインストールされただけで、実際に使えるようにはなっていません。メッセージにあるコマンドを実行します。

ubuntu@ubuntu:~$ sudo chef-server-ctl reconfigure
[2013-04-04T10:05:17+09:00] INFO: *** Chef 11.4.0 ***
[2013-04-04T10:05:18+09:00] INFO: Setting the run_list to ["recipe[chef-server]"] from JSON
[2013-04-04T10:05:18+09:00] INFO: Run List is [recipe[chef-server]]
[2013-04-04T10:05:18+09:00] INFO: Run List expands to [chef-server]
[2013-04-04T10:05:18+09:00] INFO: Starting Chef Run for ubuntu.example.jp
[2013-04-04T10:05:18+09:00] INFO: Running start handlers
[2013-04-04T10:05:18+09:00] INFO: Start handlers complete.
[2013-04-04T10:05:18+09:00] INFO: directory[/etc/chef-server] created directory /etc/chef-server
[2013-04-04T10:05:18+09:00] INFO: directory[/etc/chef-server] owner changed to 0
[2013-04-04T10:05:18+09:00] INFO: directory[/etc/chef-server] group changed to 0
[2013-04-04T10:05:18+09:00] INFO: directory[/etc/chef-server] mode changed to 775
	:
	:
	:
[2013-04-04T10:06:09+09:00] INFO: execute[boostrap-chef-server] sending restart action to service[erchef] (delayed)
[2013-04-04T10:06:09+09:00] INFO: service[erchef] restarted
[2013-04-04T10:06:09+09:00] INFO: Chef Run complete in 51.67293126 seconds
[2013-04-04T10:06:09+09:00] INFO: Running report handlers
[2013-04-04T10:06:09+09:00] INFO: Report handlers complete
chef-server Reconfigured!

このように内部でChef Soloを起動し、Chef 11 Serverの設定と起動が行われます。なお、インストールに利用されるCookbookは /opt/chef-server/embedded/cookbooks/chef-server となります。

また、以下のコマンドを用いることで、Chef 11 Serverが適切に設定されたかどうかのテストが行われます。

ubuntu@ubuntu:~$ sudo chef-server-ctl test
Configuring logging...
Creating platform...
Starting Pedant Run: 2013-04-04 01:07:51 UTC
setting up rspec config for #<Pedant::OpenSourcePlatform:0x00000003346900>
Configuring RSpec for Open-Source Tests
	:
	:
	:
Finished in 39.09 seconds
70 examples, 0 failures
ubuntu@ubuntu:~$

なお、「0 examples, 0 failures」となる場合はインストールに失敗している可能性があります。

Chef 11 Server Installerの注意点

ファイル自体のインストールは /opt/chef-server 以下に行われますが、設定を行うことで /etc や /var などの OS 領域に変更が加えられることに注意してください。

ubuntu@ubuntu:~$ dpkg -L chef-server | cut -d/ -f1-4 | uniq
/opt
/opt/chef-server
/opt/chef-server/version-manifest.txt
/opt/chef-server/embedded
/opt/chef-server/service
/opt/chef-server/bin
/opt/chef-server/init
/opt/chef-server/sv
/opt/chef-server/embedded
ubuntu@ubuntu:~$

前述の通り、nginx や PostgreSQL などが別途インストールされるため、Chef Server が各ポートを専用で用いることのできる環境にインストールしてください。

このように、Chef 11 Serverは RHEL、Ubuntu に対して大変簡単にインストールできるようになっています。簡単になった Chef Client のインストールと合わせて、Chef のサーバ・クライアント構成に触れてみるのはいかがでしょうか?

Author

Chef・Docker・Mirantis製品などの技術要素に加えて、会議の進め方・文章の書き方などの業務改善にも取り組んでいます。「Chef活用ガイド」共著のほか、Debian Official Developerもやっています。

Daisuke Higuchiの記事一覧

新規CTA