■サーバ側
インスタンスタイプは
m1.mediumを利用した→
m1.smallでもいけた
ダウンロードサイトよりChef ServerのOmnibus Installerのダウンロード
wget https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-server-11.0.6-1.el6.x86_64.rpm
yumコマンドでインストール
yum install -y --nogpg chef-server-11.0.6-1.el6.x86_64.rpm
設定
chef-server-ctl reconfigure
テスト
chef-server-ctl test
あとはこのサーバの
443番ポートを自分の環境と、Chefで管理しようとしている対象ノードからアクセスできるように設定しておく
ここまで行えば、https://ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com/にブラウザでアクセスすればWeb管理画面が表示される
インストール処理の過程でいわゆるオレオレ証明書が作成されるのでSSL証明書の警告がでる。
■ワークステーション側
ダウンロードサイトよりChef ClientのOmnibus Installerのダウンロードしてインストール
レポジトリの雛形をダウンロードしてきて展開
cd ~/
wget https://github.com/opscode/chef-repo/archive/master.zip
unzip master.zip
mv chef-repo{-master,}
ワークステーション上にknifeの設定ファイルを作成
mkdir ~/chef-repo/.chef
cat <<"EOF" > ~/chef-repo/.chef/knife.rb
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name "admin"
client_key "#{current_dir}/admin.pem"
validation_client_name "chef-validator"
validation_key "#{current_dir}/chef-validator.pem"
chef_server_url "https://xxx.xxx.xxx.xxx"
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]
EOF
Chef Serverからインストール時に作成される認証情報を入手して、ワークステーション側の~/chef-repo/.chef/に配置する
Chef Server上のこのファイル↓
/etc/chef-server/admin.pem
/etc/chef-server/chef-validator.pem
クライアントリストを取得してみて動作確認
$ cd ~/chef-repo
$ knife client list
chef-validator
chef-webui
■ノード側
ワークステーションからbootstrapを実行
※ワークステーションからノードの22番ポートに、ノードからChef Serverの443番ポートにアクセスできるよう設定しておく knife bootstrap yyy.yyy.yyy.yyy -i ssh_key_file
ワークステーションからノードが登録されたことを確認
$ knife node list
new_node
これでとりあえずはChef Serverからノードを管理できる環境が整いましたヾ(*・ω・)シ
---------- P.S. -----------
※正式なSSL証明書がある場合は、SSL証明書の警告がでないよう置き換えておけば良さそう
/var/opt/chef-server/nginx/ca/chef11.crt
※cookbookのアップロードに失敗する場合はアップロード先URLの設定を書き換えて再起動
/var/opt/chef-server/erchef/etc/app.config
# {s3_url, "[hostname]"},
chef-server-ctl restart