• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Chef in a nutshell
 

Chef in a nutshell

on

  • 2,391 views

 

Statistics

Views

Total Views
2,391
Views on SlideShare
2,379
Embed Views
12

Actions

Likes
2
Downloads
37
Comments
0

2 Embeds 12

http://www.linkedin.com 8
https://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Chef in a nutshell Chef in a nutshell Presentation Transcript

    • ChefIn a Nutshell
    • Chef?● Thick Clients, Thin Server● Order Matters● Ruby● Chef Solo● OHAI● Knife
    • Chef Server Architecture
    • Chef Components● Chef Client ○ Public/Private key ○ Machines/Humans● Chef Node● Chef Indexer ○ RabbitMQ ○ Chef Expander/SOLR● Chef Server ○ CouchDB ○ Web Interface ○ REST API● Chef Solo ○ Vagrant - development and tests
    • Cooking with Chef● Nodes ○ Roles ○ Cookbooks ○ Recipes ○ Resources● Environment● Data bags (JSON)
    • Anatomy of a Chef Run
    • Anatomy of a Chef Run● Build, Register, and Authenticate the Node ○ OHAI ○ chef-validator ○ client.pem● Synchronize Cookbooks ○ Libraries ○ Attributes ○ Definitions ○ Recipes
    • Anatomy of a Chef Run● Compile Resource Collection ○ Load Libraries ○ Load Attributes ○ Load Definitions ○ Load Recipes● Configure Node ○ Converge ○ Save Node ○ Run Notifications
    • OHAI● Gem● Windows● Standalone● Ruby library● Plugins
    • Chef Basics● Node ○ Run List ■ Recipe ■ Role (Ruby/JSON) ○ Attributes ○ Tags● Data Bags ○ JSON ○ Search ○ Encrypte● Search
    • Chef Basics ● Cookbooks ○ Recipe ○ Resources ■ Deploy ■ AWS ■ Dynect ■ Gem, PyPi e PEAR ○ Metadata ○ Providers ■ LWRP ○ Search ○ Exception and Report Handler
    • Cookbooks● Version● Library ○ Ruby code● Metadata ○ name ○ version ○ depends/conflicts/replaces ○ supports● Templates ○ ERB
    • Cookbooks ● Attributes ○ override ○ normal ○ default ● Definitions ● File Distribution ● Recipes ○ include ○ search ○ data bags ○ tag
    • Managing Chef● Knife ○ Bootstrap ○ Exec ■ SSH ○ Plugin ■ Windows ■ knife-windows ■ Windows Remote Management ■ PowerShell ■ EC2/Rackspace/Slicehost/Terremark● Shef ○ irb
    • Workflow ● Environments ● Freeze ● Metadata versionDevelopment 1. Bump the version number as appropriate 2. Hack 3. Upload and test 4. Repeat 2 and 3 as necessaryProduction 1. Upload and freeze your cookbooks 2. Modify your environment to prefer the new version you uploaded 3. Upload the updated environment 4. Deploy
    • LinksOpscode Platform "The first five nodes are free!"Opscode WikiA Brief Chef TutorialExample Cookbooks:http://github.com/opscode/cookbookshttp://github.com/37signals/37s_cookbookshttp://github.com/engineyard/ey-cloud-recipes