BROWN BAG:
Chef in
PRODUCTION

Hart Hoover
@hhoover

CLOUD SAVVY
CLOUD SAVVY

!2
ENTERPRISE

CLOUD SAVVY

!3
CHEF SOLO

CLOUD SAVVY

!4
OPEN SOURCE CHEF
CLOUD SAVVY

!5
TOOLS!

•
•
•
•
•
•
CLOUD SAVVY

Git/GitHub
Berkshelf
Vagrant
Vagrant Plugins
Test Kitchen
Foodcritic
!6
CHEF SeRVER
ANATOMY

CLOUD SAVVY
NGINX

WebUI

API

Erchef

Bookshelf

PostgreSQL

Cookbooks

MQ

SOLR

CLOUD SAVVY

!8
YOUR OWN CHEF SERVER

INSTALL THE PACKAGE

CLOUD SAVVY

!9
YOUR OWN CHEF SERVER

USE RACKSPACE DEPLOYMENTS
(HEAT/CHECKMATE)

CLOUD SAVVY

!10
YOUR OWN CHEF SERVER

USE CHEF-SOLO TO
DEPLOY CHEF-SERVER

CLOUD SAVVY

!11
PACKAGES

CLOUD SAVVY
REQUIREMENTS

OPERATING SYSTEM:
!

UBUNTU 12.04
OR
CENTOS 6.3

CLOUD SAVVY

!13
REQUIREMENTS

FQDN

CLOUD SAVVY

!14
UBUNTU 12.04

OMNIBUS
curl	
  -­‐L	
  https://www.opscode.com/chef/install.sh	
  |	
  sudo	
  bash

CLOUD SAVVY

!15
UBUNTU 12.04

IS THE CHEF SERVER RUNNING?

CLOUD SAVVY

!16
CLOUD SAVVY

!17
MANAGING SERVICES

$ chef-server-ctl

CLOUD SAVVY

!18
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
Chef-Server-CTL

$ chef-server-ctl [OPTION]
help
reconfigure
stop [service]
start [service]
restart [service]

status [ser...
START ALL THE THINGS

$ chef-server-ctl reconfigure

CLOUD SAVVY

!27
CLOUD SAVVY

!28
DEPLOYMENTS

CLOUD SAVVY
CLOUD SAVVY

!30
CLOUD SAVVY

!31
CLOUD SAVVY

!32
CLOUD SAVVY

!33
CHEF ON CHEF

CLOUD SAVVY
CHEF-SOLO METHOD

https://github.com/opscode-cookbooks/chef-server

CLOUD SAVVY

!35
ATTRIBUTES

api_fqdn

CLOUD SAVVY

!36
ATTRIBUTES

version

CLOUD SAVVY

!37
BOOTSTRAP YOUR
SERVER

INSTALL CHEF SOLO
(OMNIBUS… AGAIN)
curl	
  -­‐L	
  https://www.opscode.com/chef/install.sh	
  |	
  ...
BOOTSTRAP YOUR
SERVER

CREATE DIRECTORIES
$ mkdir -p /var/chef/cache	
$ mkdir -p /var/chef/cookbooks/chef-server

CLOUD SA...
BOOTSTRAP YOUR
SERVER

GET THE COOKBOOK
$ wget -qO- https://github.com/opscode-cookbooks/
chef-server/archive/master.tar.g...
BOOTSTRAP YOUR
SERVER

RUN CHEF-SOLO
$ chef-solo -o 'recipe[chef-server::default]'

CLOUD SAVVY

!41
CLOUD SAVVY

!42
CLOUD SAVVY

!43
https://github.com/opscode-cookbooks/chef-server

CLOUD SAVVY

!44
Monitoring
WITH
NEW RELIC

CLOUD SAVVY
INFRASTRUCTURE
MONITORING

CLOUD SAVVY

!46
APPLICATION
MONITORING

CLOUD SAVVY

!47
PERFORMANCE
MONITORING

CLOUD SAVVY

!48
USE BERKSHELF!

site :opscode	
!

cookbook ‘newrelic’

CLOUD SAVVY

!49
ATTRIBUTES
attributes/default.rb

default['newrelic']['server_monitoring']['license']	
  =	
  "CHANGE_ME"	
  
default['new...
YOUR MONITORING RUN LIST:

recipe[newrelic]

SET YOUR ATTRIBUTES!
CLOUD SAVVY

!51
THANK
YOU!

CLOUD SAVVY
Upcoming SlideShare
Loading in...5
×

Deploying a Chef Server

1,764

Published on

Walk through of deploying a Chef to Rackspace three ways:

* Omnibus
* Chef-solo
* Rackspace Deployments

Published in: Business, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,764
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
13
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Deploying a Chef Server

  1. 1. BROWN BAG: Chef in PRODUCTION Hart Hoover @hhoover CLOUD SAVVY
  2. 2. CLOUD SAVVY !2
  3. 3. ENTERPRISE CLOUD SAVVY !3
  4. 4. CHEF SOLO CLOUD SAVVY !4
  5. 5. OPEN SOURCE CHEF CLOUD SAVVY !5
  6. 6. TOOLS! • • • • • • CLOUD SAVVY Git/GitHub Berkshelf Vagrant Vagrant Plugins Test Kitchen Foodcritic !6
  7. 7. CHEF SeRVER ANATOMY CLOUD SAVVY
  8. 8. NGINX WebUI API Erchef Bookshelf PostgreSQL Cookbooks MQ SOLR CLOUD SAVVY !8
  9. 9. YOUR OWN CHEF SERVER INSTALL THE PACKAGE CLOUD SAVVY !9
  10. 10. YOUR OWN CHEF SERVER USE RACKSPACE DEPLOYMENTS (HEAT/CHECKMATE) CLOUD SAVVY !10
  11. 11. YOUR OWN CHEF SERVER USE CHEF-SOLO TO DEPLOY CHEF-SERVER CLOUD SAVVY !11
  12. 12. PACKAGES CLOUD SAVVY
  13. 13. REQUIREMENTS OPERATING SYSTEM: ! UBUNTU 12.04 OR CENTOS 6.3 CLOUD SAVVY !13
  14. 14. REQUIREMENTS FQDN CLOUD SAVVY !14
  15. 15. UBUNTU 12.04 OMNIBUS curl  -­‐L  https://www.opscode.com/chef/install.sh  |  sudo  bash CLOUD SAVVY !15
  16. 16. UBUNTU 12.04 IS THE CHEF SERVER RUNNING? CLOUD SAVVY !16
  17. 17. CLOUD SAVVY !17
  18. 18. MANAGING SERVICES $ chef-server-ctl CLOUD SAVVY !18
  19. 19. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !19
  20. 20. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !20
  21. 21. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !21
  22. 22. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !22
  23. 23. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !23
  24. 24. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !24
  25. 25. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !25
  26. 26. Chef-Server-CTL $ chef-server-ctl [OPTION] help reconfigure stop [service] start [service] restart [service] status [service] tail [service] test --all CLOUD SAVVY !26
  27. 27. START ALL THE THINGS $ chef-server-ctl reconfigure CLOUD SAVVY !27
  28. 28. CLOUD SAVVY !28
  29. 29. DEPLOYMENTS CLOUD SAVVY
  30. 30. CLOUD SAVVY !30
  31. 31. CLOUD SAVVY !31
  32. 32. CLOUD SAVVY !32
  33. 33. CLOUD SAVVY !33
  34. 34. CHEF ON CHEF CLOUD SAVVY
  35. 35. CHEF-SOLO METHOD https://github.com/opscode-cookbooks/chef-server CLOUD SAVVY !35
  36. 36. ATTRIBUTES api_fqdn CLOUD SAVVY !36
  37. 37. ATTRIBUTES version CLOUD SAVVY !37
  38. 38. BOOTSTRAP YOUR SERVER INSTALL CHEF SOLO (OMNIBUS… AGAIN) curl  -­‐L  https://www.opscode.com/chef/install.sh  |  sudo  bash CLOUD SAVVY !38
  39. 39. BOOTSTRAP YOUR SERVER CREATE DIRECTORIES $ mkdir -p /var/chef/cache $ mkdir -p /var/chef/cookbooks/chef-server CLOUD SAVVY !39
  40. 40. BOOTSTRAP YOUR SERVER GET THE COOKBOOK $ wget -qO- https://github.com/opscode-cookbooks/ chef-server/archive/master.tar.gz | tar xvzC /var/ chef/cookbooks/chef-server --strip-components=1 CLOUD SAVVY !40
  41. 41. BOOTSTRAP YOUR SERVER RUN CHEF-SOLO $ chef-solo -o 'recipe[chef-server::default]' CLOUD SAVVY !41
  42. 42. CLOUD SAVVY !42
  43. 43. CLOUD SAVVY !43
  44. 44. https://github.com/opscode-cookbooks/chef-server CLOUD SAVVY !44
  45. 45. Monitoring WITH NEW RELIC CLOUD SAVVY
  46. 46. INFRASTRUCTURE MONITORING CLOUD SAVVY !46
  47. 47. APPLICATION MONITORING CLOUD SAVVY !47
  48. 48. PERFORMANCE MONITORING CLOUD SAVVY !48
  49. 49. USE BERKSHELF! site :opscode ! cookbook ‘newrelic’ CLOUD SAVVY !49
  50. 50. ATTRIBUTES attributes/default.rb default['newrelic']['server_monitoring']['license']  =  "CHANGE_ME"   default['newrelic']['application_monitoring']['license']  =  "CHANGE_ME" CLOUD SAVVY !50
  51. 51. YOUR MONITORING RUN LIST: recipe[newrelic] SET YOUR ATTRIBUTES! CLOUD SAVVY !51
  52. 52. THANK YOU! CLOUD SAVVY
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×