2013-04-26

EC2上のCentOS6.3にChef Server 11.0.6をインストールしてみた

■サーバ側

インスタンスタイプは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

0 件のコメント:

コメントを投稿