The document is a presentation on deploying applications with Chef. It introduces Chef as a configuration management tool and system integration platform. It describes key Chef concepts including nodes, run lists, roles, recipes and resources. Nodes are configured through attributes, run lists and roles/recipes which define resources and their desired state.
20. At a High Level...
‣ A library for configuration management
‣ A configuration management system
‣ A systems integration platform
‣ An API for your entire Infrastructure
http://www.flickr.com/photos/asten/2159525309/sizes/l/
Sunday, February 6, 2011
44. Resources...
Declare a description of the state a part of the node should be in
‣ Have a type package "apache2" do
version "2.2.11-2ubuntu2.6"
action :install
‣ Have a name end
template "/etc/apache2/apache2.conf" do
‣ Have parameters source "apache2.conf.erb"
owner "root"
‣ Take action to put the group "root"
mode 0644
resource in the action :create
declared state end
Sunday, February 6, 2011
46. Providers...
Know how to actually perform the actions specified by a resource.
Apt, Yum, Rubygems,
Multiple providers
per resource type.
Portage, Macports,
FreeBSD Ports, etc.
Sunday, February 6, 2011
47. Resources
Platform
Provider
Sunday, February 6, 2011
50. Recipes...
Apply resources in the order they are specified
1
package "apache2" do
version "2.2.11-2ubuntu2.6"
action :install
‣ Evaluates resources in end
the order they appear
template "/etc/apache2/apache2.conf" do
source "apache2.conf.erb"
‣ Adds each resource to owner "root"
the Resource Collection group "root"
mode 0644
action :create
2
end
Sunday, February 6, 2011