Server installation and configuration with Chef
Raimonds Simanovskis TietoEnator Alise @rsim github.com/rsim
Problem • Manual system administration • Non-repeatable • No version control • Takes too long
What is Chef? Chef is a state based, declarative configuration management engine. You define recipes of how you want your system to look and then chef makes it so.
Chef • Client-server architecture • Embraces modern web technologies • Best ideas from cfengine and Puppet • Targeted to Linux, Solaris, Mac OS X • Written in Ruby, recipes in Ruby
Architecture Client Chef Server Chef Client Ohai Chef Indexer
Ohai { "kernel": { "machine": "x86_64", "name": "Linux", "os": "GNU/Linux", "version": "#1 SMP Wed Aug 20 21:08:51 UTC 2008", "release": "2.6.24-19-xen" }, "uptime_seconds": 12043422, "platform_version": "8.04", "platform": "ubuntu", "virtualization": { "role": "guest", "emulator": "xen" }, "os": "linux", "idletime": "115 days 23 hours 34 minutes 06 seconds", "idletime_seconds": 10020846, "lsb": { "id": "Ubuntu", "description": ""Ubuntu 8.04.1"", "codename": "hardy", "release": "8.04" }, "os_version": "2.6.24-19-xen" }
Chef components • Nodes • Attributes • Cookbooks • Libraries • Recipes • Files • Definitions • Templates
Resources cron execute directory file group user link package remote_directory remote_file route script service template http_request
Demo
Links http://wiki.opscode.com/display/chef/Home http://www.slideshare.net/ Orlando_Ruby_Users_Group/cooking-with-chef
Thanks! http://blog.rayapps.com http://github.com/rsim

Server Installation and Configuration with Chef

  • 1.
  • 2.
    Raimonds Simanovskis TietoEnator Alise @rsim github.com/rsim
  • 3.
    Problem • Manual systemadministration • Non-repeatable • No version control • Takes too long
  • 4.
    What is Chef? Chef is a state based, declarative configuration management engine. You define recipes of how you want your system to look and then chef makes it so.
  • 5.
    Chef • Client-server architecture •Embraces modern web technologies • Best ideas from cfengine and Puppet • Targeted to Linux, Solaris, Mac OS X • Written in Ruby, recipes in Ruby
  • 6.
    Architecture Client Chef Server Chef Client Ohai Chef Indexer
  • 7.
    Ohai { "kernel": { "machine": "x86_64", "name": "Linux", "os": "GNU/Linux", "version": "#1 SMP Wed Aug 20 21:08:51 UTC 2008", "release": "2.6.24-19-xen" }, "uptime_seconds": 12043422, "platform_version": "8.04", "platform": "ubuntu", "virtualization": { "role": "guest", "emulator": "xen" }, "os": "linux", "idletime": "115 days 23 hours 34 minutes 06 seconds", "idletime_seconds": 10020846, "lsb": { "id": "Ubuntu", "description": ""Ubuntu 8.04.1"", "codename": "hardy", "release": "8.04" }, "os_version": "2.6.24-19-xen" }
  • 8.
    Chef components • Nodes • Attributes • Cookbooks • Libraries • Recipes • Files • Definitions • Templates
  • 9.
    Resources cron execute directory file group user link package remote_directory remote_file route script service template http_request
  • 25.
  • 26.
    Links http://wiki.opscode.com/display/chef/Home http://www.slideshare.net/ Orlando_Ruby_Users_Group/cooking-with-chef
  • 27.