orenoblog

エンジニアになりたいExcel方眼紙erの物語

chef server 11インストール手順

11系がリリースされてたからchef server 11.0.6を入れてみた。chef 10系すらまとーもに使いこなせてないのに・・・

10.Xから11へのchangelogこれ
11系ドキュメントを見ながらインストールしていたのですが
案の定ハマったので、次はハマらないように手順残します。

0. 環境と前提条件

環境:CentOS6.3(x86_64)
Client:11.0.4
Server:11.0.6

モノはclientとserverをここからダウンロード
最新坊なので最新を。

自ホスト名が解決できるようにhostsやDNSに登録しておくこと。
そうしないとインストール中にこけます


1. インストール
※簡易手順纏めるだけの環境でsudo使うのが面倒だったので、rootで実行してます。。

※chef-clientのインストール
# curl -L https://www.opscode.com/chef/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
101  6471  101  6471    0     0   6570      0 --:--:-- --:--:-- --:--:-- 37189
Downloading Chef  for el...
Installing Chef 
警告: /tmp/tmp.kEHZgTbe/chef-.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
準備中...                ########################################### [100%]
   1:chef                   ########################################### [100%]
Thank you for installing Chef!

※chef-serverのインストール
# rpm -ivh chef-server-11.0.6-1.el6.x86_64.rpm 
警告: chef-server-11.0.6-1.el6.x86_64.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
準備中...                ########################################### [100%]
   1:chef-server            ########################################### [100%]
Thank you for installing Chef Server!

The next step in the install process is to run:

sudo chef-server-ctl reconfigure
# /opt/chef-server/bin/chef-server-ctl reconfigure
Starting Chef Client, version 11.4.0
Compiling Cookbooks...
Recipe: chef-server::default
  * directory[/etc/chef-server] action create
    - create new directory /etc/chef-server
    - change mode from '' to '0775'
    - change owner from '' to 'root'
    - change group from '' to 'root'
・・以下省略・・・
Recipe: chef-server::erchef
  * service[erchef] action restart
    - restart service service[erchef]

Chef Client finished, 152 resources updated
chef-server Reconfigured!
キタ━━━━(゚∀゚)━━━━!!

2. knifeセットアップ

chef-clientを実行する前にknifeをセットアップします。

気をつけるポイント

・chef-server 11系はNginxがフロントになっています.80と443をListenしています。
 chef-serverポート4000,chef-server-apiポート4040をListenしてません。
・client.rbやknife.rbに指定するchef_server_urlはNginxがListenするポート443(https)を指定する必要があります。
 80を指定すると403エラーが返ります。
・chef-client11系は10系との互換性を保つためにknife configureの質問が10系になってます。
 10系の時と同じようにenter叩き込んでいると失敗します。
・chef-server-ctl reconfigure実行時にwebui用のadminが作成されておりknife configure -iを実行すると
 このユーザのパスワードを問われます。パスワードは[/etc/chef-server/chef-server-running.json]に記載されています。

※configure事前準備(パス指定が面倒だったのでchef-clientが参照するディレクトリにコピーしてます)
# cp -p /etc/chef-server/admin.pem /etc/chef/admin.pem
# cp -p /etc/chef-server/chef-validator.pem /etc/chef/validation.pem
※configure実行
# knife configure -i
WARNING: No knife configuration file foundWhere should I put the config file? [/root/.chef/knife.rb]<enter> 
Please enter the chef server URL: [http://<chef-servername>:4000] https://<chef-servername>※httpsにする!!
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] 
Please enter the validation clientname: [chef-validator] 
Please enter the location of the validation key: [/etc/chef/validation.pem] 
Please enter the path to a chef repository (or leave blank): 
Creating initial API user...
Please enter a password for the new user: <adminのパスワード>
Created user[root]
Configuration file written to /root/.chef/knife.rb


これにて 終 了 。
あとはchef-clientを実行してnode/client登録行えばOK.

chef server10はリバースプロキシ設ける必要があったけど11は標準でフロントがNginxなので
最初のセットアップが楽かなーという印象。
ああ、PostgreSQLの運用考えないと・・・

さて次は既存node/client/recipe等のリソースを移行してみたいと思います。