さくらVPSにchef-serverとchef-clientをインストールする
「さくらVPS環境で、‥その後、chef-soloをインストールしてみる」で、「openssl.so: undefined symbol」というエラーがでてしまい
途中で終わっていたので、インストールをやりきってみました。「How to Get Started」という記事を参考にしたのですが、
途中で、「Configure a server as a Chef client」というのもでてきてしまったので、ついでにchef-serverのインストールもしてみました。
目的
Amazon Web ServiceやVPS環境で似たような環境を構築する時に、手間をかけないであるていど構築できないかと
思い調べてみます。Puppetというツールもありますが、Ruby1.9で動かない?ようなので、chefの方を試してみます。*1
&
世間で流行っているみたいなので、ついでにどんなソフトを利用しているのか確認をしてみます。
前提
前提は、下記の通りです。
- 「How to Get Started」を参考に環境を構築してみます。
- 「4. Setting Up a Chef Client」で「Configure a server」というものがでてきたのでついでにサーバ機能もインストールしてみた。
- chefのインストールで終わっているので、使い方に関しては、まだ確認中です。
設定してみる
設定をしてみます。
openssl.soのエラーを解決しておく
「さくらVPS環境で、‥その後、chef-soloをインストールしてみる」で、「openssl.so: undefined symbol」というエラーがでてしまったところは、下記のような感じで対処しました。
ruby extconf.rb --with-openssl-include=/usr/include --with-openssl-lib=/usr/lib
インストール後、irbで確認してみます。
「Create your Chef repository」を実施する
「2. Setting Up Your User Environment」の記事を元に設定をおこなっていきます。
$ cd ~
$ git clone http://github.com/opscode/chef-repo.git
$ mkdir -p ~/chef-repo/.chef
$ cp USERNAME.pem ~/chef-repo/.chef
$ cp ORGANIZATION-validator.pem ~/chef-repo/.chef
$ cp knife.download ~/chef-repo/.chef/ knife.rb
$ cd ~/chef-repo
$ knife client list
[
"ORGANIZATION-validator"
]
knife.rbの中身はなにが書かれているか確認をしておきます。
$ cat ~/chef-repo/.chef/knife.rb
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name "USERNAME"
client_key "#{current_dir}/USERNAME.pem"
validation_client_name "ORGANIZATION-validator"
validation_key "#{current_dir}/ORGANIZATION-validator.pem"
chef_server_url "https://api.opscode.com/organizations/USERNAME"
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]
Cookbooksを取り込む
「3. Working with Cookbooks」の記事を元に、 「local chef-repo」にCookbooksを取り込みます。
$ cd ~/chef-repo
$ knife cookbook site vendor getting-started
$ cd ~/chef-repo
$ knife cookbook upload getting-started
$ cd ~/chef-repo
$ knife cookbook list
[
"getting-started"
]
とりあえず、意味半分くらいしか理解してませんが、取り込みができたみたいです。
workstationの設定をおこなってみます。
$ cd ~/chef-repo
$ knife configure client ./client-config
$ ls -l client-config
合計 8
-rw-r--r-- 1 id work 153 4月 3 20:45 client.rb
-rw-r--r-- 1 id work 1675 4月 3 20:45 validation.pem
$ sudo chef-client
[sudo] password for id:
[Mon, 04 Apr 2011 19:27:24 +0900] INFO: Starting Chef Run (Version 0.9.14)
[Mon, 04 Apr 2011 19:27:25 +0900] WARN: Node FQDN has an empty run list.
[Mon, 04 Apr 2011 19:27:27 +0900] INFO: Chef Run complete in 2.528441 seconds
[Mon, 04 Apr 2011 19:27:27 +0900] INFO: cleaning the checksum cache
[Mon, 04 Apr 2011 19:27:27 +0900] INFO: Running report handlers
[Mon, 04 Apr 2011 19:27:27 +0900] INFO: Report handlers complete
$ knife node list
[
"FQDN"
]
なんとか記事の通りできたようです。
「Manual Chef Server Configuration」を実施する
「Manual Chef Server Configuration」を元にChef Server機能を
インストールしようと思いましたが、少し長くなりましたので、次回に続こうと思います。
*1:きちんと調べてないので嘘書いてるかも。