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 のサーバ・クライアント構成に触れてみるのはいかがでしょうか?