Your SlideShare is downloading. ×
Install and run chef solo real quick
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Install and run chef solo real quick

4,730
views

Published on

My notes on installing and running chef-solo. …

My notes on installing and running chef-solo.
- Install chef-solo
- Create a simple cookbook/recipe and run it

Published in: Technology, Business, Travel

1 Comment
2 Likes
Statistics
Notes
  • Thanks, this was useful. Had to do couple of minor changes ...

    1. The knife command to create ntp gave warning 'No config file' and did not create ntp recipe. I fixed it by 'mkdir chef-repo/cookbooks/ntp' and rerunning knife

    2. Per flow, the web.json is not in chef-repo directory, it is in parent of chef-repo directory. So the chef-solo command should be 'chef-solo -c chef-repo/solo.rb -j ./web.json'
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,730
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
89
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Install and run chef-solo in minutes benjaminrtz@gmail.com Install chef ============ curl -L https://www.opscode.com/chef/install.sh | bash Check ===== # chef-solo -v Chef: 11.6.2 Setup chef repository ===================== #wget http://github.com/opscode/chef-repo/tarball/master #tar zxvf master opscode-chef-repo-f9d4b0c/ opscode-chef-repo-f9d4b0c/.gitignore opscode-chef-repo-f9d4b0c/LICENSE opscode-chef-repo-f9d4b0c/README.md opscode-chef-repo-f9d4b0c/Rakefile opscode-chef-repo-f9d4b0c/certificates/ opscode-chef-repo-f9d4b0c/certificates/README.md opscode-chef-repo-f9d4b0c/chefignore opscode-chef-repo-f9d4b0c/config/ opscode-chef-repo-f9d4b0c/config/rake.rb opscode-chef-repo-f9d4b0c/cookbooks/ opscode-chef-repo-f9d4b0c/cookbooks/README.md opscode-chef-repo-f9d4b0c/data_bags/ opscode-chef-repo-f9d4b0c/data_bags/README.md opscode-chef-repo-f9d4b0c/environments/ opscode-chef-repo-f9d4b0c/environments/README.md opscode-chef-repo-f9d4b0c/roles/ opscode-chef-repo-f9d4b0c/roles/README.md #mv opscode-chef-repo-f9d4b0c/ chef-repo # ls chef-repo/ certificates config chefignore cookbooks data_bags environments LICENSE Rakefile README.md roles Notice the directory structure created in the chef repository? Create .chef directory inside chef-repo ======================================= # mkdir chef-repo/.chef Setup a local cookbook path ===========================
  • 2. # vi chef-repo/.chef/knife.rb cookbook_path [ '/root/chef-repo/cookbooks' ] Create your first cookbook ========================== # knife cookbook create ntp ** Creating cookbook ntp ** Creating README for cookbook: ntp ** Creating CHANGELOG for cookbook: ntp ** Creating metadata for cookbook: ntp Here's the cookbook =================== # ls chef-repo/cookbooks/ntp/ attributes definitions libraries templates CHANGELOG.md files metadata.rb providers recipes README.md resources Writing your first recipe ========================= # vi chef-repo/cookbooks/ntp/recipes/default.rb package 'ntp' This will install ntp if it is not installed. If it is already installed, it will do nothing. Now configure your server using chef-solo ========================================= # vi chef-repo/solo.rb file_cache_path "/root/chef-solo" cookbook_path "/root/chef-repo/cookbooks" # vi web.json { "run_list": [ "recipe[ntp]" ] } Ensure ntp is not installed =========================== # yum remove -y ntp Use chef-solo to configure your server ===================================== # chef-solo -c chef-repo/solo.rb -j chef-repo/web.json Starting Chef Client, version 11.6.2 Compiling Cookbooks... Converging 1 resources
  • 3. Recipe: ntp::default * package[ntp] action install - install version 4.2.4p8-3.el6.centos of package ntp Chef Client finished, 1 resources updated Confirm ntp is installed ======================== # yum info ntp Notes ====== Uninstall chef #yum remove -y chef Other ways to install chef # wget https://www.opscode.com/chef/install.sh # bash install.sh or Go http://www.opscode.com/chef/install/ and select your distro, distro version and architecture. Download the package. In my case, I use CentOS: # wget https://opscode-omnibuspackages.s3.amazonaws.com/el/6/x86_64/chef-11.6.2-1.el6.x86_64.rpm # yum localinstall -y chef-11.6.2-1.el6.x86_64.rpm Another to setup your chef repo # git clone git://github.com/opscode/chef-repo.git # ls chef-repo/ certificates chefignore config cookbooks data_bags LICENSE Rakefile README.md roles environments References 1. http://gettingstartedwithchef.com/first-steps-with-chef.html 2. https://learnchef.opscode.com/starter-use-cases/ntp/

×