Install Ruby, Ruby gems, and Chef-client
Mac OSX
Install X-Code from Mac Appstore
Open Xcode and do the following : Xcode >> Preferences >> Downloads >> Command Line Tools
$ cd /tmp
$ curl -O http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
$ tar zxf rubygems-1.8.24.tgz
$ cd rubygems-1.8.24
$ ruby setup.rb –no-format-executable
$ sudo gem install chef
CentOS6
$ yum -y install ruby ruby-devel ruby-ri ruby-rdoc ruby-shadow gcc gcc-c++ automake autoconf make curl dmidecode git
$ cd /tmp
$ curl -O http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
$ tar zxf rubygems-1.8.24.tgz
$ cd rubygems-1.8.24
$ ruby setup.rb –no-format-executable
$ sudo gem install chef
Ubuntu
$ apt-get install -y curl git ruby1.9.1 rubygems1.9.1 chef
Copy the validation.pem and webui.pem
This is the key that allow you to register your host as a client to the chef server
$ scp root@chef-server:/etc/chef/validation.pem /etc/chef/validation.pem
This is the key that allows you to authenticate yourself as an admin user to the chef server
Chef requires an existing admin to authorize a new admin
$ scp root@chef-server:/etc/chef/webui.pem /etc/chef/webui.pem
Run Knife Configure
$ knife configure -i
Example Output:
Overwrite /root/.chef/knife.rb? (Y/N) y Please enter the chef server URL: [http://chef-server:4000] http://chef-server:4000 Please enter a clientname for the new client: [root] jtran Please enter the existing admin clientname: [chef-webui] Please enter the location of the existing admin client's private key: [/etc/chef/webui.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... Created client[jtran] Configuration file written to /root/.chef/knife.rb
Verify Knife is working
$ knife client list
Example Output:
jtran chef-webui chef-validator