Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CHEF (-SOLO)  Getting started
DEVOPSdevops is an emerging set of principles, methods and practices for communication, collaboration and       integratio...
CHEFA configuration management system
CHEF-SOLO serverless chef
WHAT’S THE DESIRED STATUS?
HOW TO GET THERE?
COOKBOOKS
COOKBOOKS
RECIPES
RECIPES
ROLES
mysql  railsmongodb backup   ...ROLES
NODES
application1 db serverapplication2 app server     backup server           ...       NODES
recipes/default.rb:remote_file "/tmp/node-v#{node[:nodejs][:version]}.tar.gz" do  source "http://nodejs.org/dist/node-v#{n...
{  "json_class": "Chef::Role",  "run_list": [    "rails_common",    "users",    "mysql",    "memcached",    "sphinx"  ],  ...
THAT’S THE DESIRED STATUS
HOW TO GET THERE
SOME LIVE CODING
Upcoming SlideShare
Loading in …5
×

Chef, getting started - Wiktor Schmidt (PRUG 3.0)

780 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Chef, getting started - Wiktor Schmidt (PRUG 3.0)

  1. 1. CHEF (-SOLO) Getting started
  2. 2. DEVOPSdevops is an emerging set of principles, methods and practices for communication, collaboration and integration between software development (application/software engineering) and IT operations(systems administration/infrastructure) professionals
  3. 3. CHEFA configuration management system
  4. 4. CHEF-SOLO serverless chef
  5. 5. WHAT’S THE DESIRED STATUS?
  6. 6. HOW TO GET THERE?
  7. 7. COOKBOOKS
  8. 8. COOKBOOKS
  9. 9. RECIPES
  10. 10. RECIPES
  11. 11. ROLES
  12. 12. mysql railsmongodb backup ...ROLES
  13. 13. NODES
  14. 14. application1 db serverapplication2 app server backup server ... NODES
  15. 15. recipes/default.rb:remote_file "/tmp/node-v#{node[:nodejs][:version]}.tar.gz" do  source "http://nodejs.org/dist/node-v#{node[:nodejs][:version]}.tar.gz"  not_if { File.exist? "/tmp/node-v#{node[:nodejs][:version]}.tar.gz" }endexecute "Extract Node source" do  cwd "/tmp"  command "tar -zxvf /tmp/node-v#{node[:nodejs][:version]}.tar.gz"  creates "/tmp/node-v#{node[:nodejs][:version]}"endexecute "Build and Install Node.js" do  cwd "/tmp/node-v#{node[:nodejs][:version]}"  command "./configure; make install"  creates "/usr/local/bin/node"endattributes/default.rb:default[:nodejs][:version] = 0.4.8 EXAMPLE
  16. 16. {  "json_class": "Chef::Role",  "run_list": [    "rails_common",    "users",    "mysql",    "memcached",    "sphinx"  ],  "default_attributes": {    "users": [ {      "name": "iktorn",      "authorized_keys": "ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAyFaMxHDUijZpxdLSBKu0UnPfRAqshw/JtWVtkmkGhuCkSUUUBll5M9efzASrjwkDXKnQp0kePzPWLk1hDwR/qmjydKb5ah4+mPDmiJsCVCIdY4YZHFOf0/eqM+hzkQdZSBm97KrFqG+xtUacCf3BJPRvDSh0zzmjNrab/5mlttiu3Jb5FgZtaUs/PpM6TZorzWyLcEQ9Z8o9bQldjolV93VplN8V4TeDk90gHfqGvLjB+K4AjHELREnFgo108fsOJ3PwNBslA+215Z8S3ZCycXUT3GZLH9+oS1xfy5IzTafUbqxC16klfrxEMM1m37ETvBrxOxLKGx/Z7DKIUttOHQ== iktorn"    } ]  } EXAMPLE ROLE}
  17. 17. THAT’S THE DESIRED STATUS
  18. 18. HOW TO GET THERE
  19. 19. SOME LIVE CODING

×