ChefTutorial Documentation
Release 1.0
Toru Uetani
December 13, 2016
Contents
1
1.1
1.2
1.3
1.4
2
. . . . . . . . . . .
Chef-solo . . . . .
Github for Windows
Chef-solo . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
9
17
22
31
ii
ChefTutorial Documentation, Release 1.0
Chef-solo Windows
Warning: Chef Twitter (id:toruuetani)
Sphinx Mercurial / TortoiseHg BitBucket
https://bitbucket.org/toruuetani/chef-solo-tutorial
Read the Docs
https://readthedocs.org/projects/chefsoloonwindowstutorial/
https://chefsoloonwindowstutorial.readthedocs.org/en/latest/
Contents
ChefTutorial Documentation, Release 1.0
Contents
CHAPTER 1
1.1
Chef / Chef
1.1.1 Server, Client, Node
Chef Server Chef Client Node
Hint: Node Node Client
1.1.2 Cookbook, Recipe
Recipe Node Ruby Recipe Cookbook
ChefTutorial Documentation, Release 1.0
1.1.3 Role
Node Role Node Role Role Recipe Role Recipe
Chapter 1.
ChefTutorial Documentation, Release 1.0
Role Ruby JSON Ruby (Role Data Formats Chef Docs )
1
2
3
4
5
6
name "webserver"
description "The base role for systems that serve HTTP traffic"
run_list "recipe[apache2]", "recipe[apache2::mod_ssl]", "role[monitor]"
env_run_lists "prod" => ["recipe[apache2]"], "staging" => ["recipe[apache2::staging]"], "_default" =>
default_attributes "apache2" => { "listen_ports" => [ "80", "443" ] }
override_attributes "apache2" => { "max_children" => "50" }
1.1.4 Attribute
Attribute Cookbook / Recipe Node Attribute Recipe Attribute Recipe Role Node Attribute
1.1.
ChefTutorial Documentation, Release 1.0
1.1.5 Resource
Resource Recipe Resource directory
1
node['apache']['dir'] = '/etc/apache2'
2
3
4
5
6
7
directory node['apache']['dir'] do
owner 'apache'
group 'apache'
action :create
end
Chapter 1.
ChefTutorial Documentation, Release 1.0
Hint: Recipe Resource
1.1.6 run_list
run_list Node Role Recipe
1.1.
ChefTutorial Documentation, Release 1.0
1.1.7 Chef Solo
Chef Solo Chef Server Chef
Chapter 1.
ChefTutorial Documentation, Release 1.0
Cookbook Node Cookbook Node JSON
1
{
"resolver": {
"nameservers": [ "10.0.0.1" ],
"search":"int.example.com"
},
"run_list": [ "recipe[resolver]" ]
2
3
4
5
6
7
Chef Solo
1.2 Chef-solo
Hint: 2013/03/06 Ver.11.4.0
Step2
1.2. Chef-solo
ChefTutorial Documentation, Release 1.0
Step 2
chef-client-11.4.0-1.windows.msi
10
Chapter 1.
ChefTutorial Documentation, Release 1.0
1.2. Chef-solo
11
ChefTutorial Documentation, Release 1.0
12
Chapter 1.
ChefTutorial Documentation, Release 1.0
1.2. Chef-solo
13
ChefTutorial Documentation, Release 1.0
14
Chapter 1.
ChefTutorial Documentation, Release 1.0
1.2. Chef-solo
15
ChefTutorial Documentation, Release 1.0
chef-solo --version
16
Chapter 1.
ChefTutorial Documentation, Release 1.0
1.3 Github for Windows
Hint: 2013/03/06 Ver.1.0.38.1
1.
1.3. Github for Windows
17
ChefTutorial Documentation, Release 1.0
2. Set Up Git
3. Download GitHubSetup.exe
18
Chapter 1.
ChefTutorial Documentation, Release 1.0
4.
5. Github
1.3. Github for Windows
19
ChefTutorial Documentation, Release 1.0
6. GitHub LOG IN
7. Git CONTINUE
20
Chapter 1.
ChefTutorial Documentation, Release 1.0
8. SKIP
1.3. Github for Windows
21
ChefTutorial Documentation, Release 1.0
9.
1.4 Chef-solo
Chef-solo chef-solo
22
Chapter 1.
ChefTutorial Documentation, Release 1.0
Chef-solo
1.4.1 Chef
Chef Git
Hint: C:\chef-repo
GitHub for Windows add
1.4. Chef-solo
23
ChefTutorial Documentation, Release 1.0
create
chef-repo
chef-solo repository
C:\chef-repo ( ... C:\ )
24
Chapter 1.
ChefTutorial Documentation, Release 1.0
GitHub for Windows
1.4. Chef-solo
25
ChefTutorial Documentation, Release 1.0
Init
26
Chapter 1.
ChefTutorial Documentation, Release 1.0
1.4.2 solo.rb
Chef-solo C:\chef-repo\solo.rb file_cache_path cookbook_path
1
2
file_cache_path File.join(Dir.pwd, 'cache')
cookbook_path
File.join(Dir.pwd, 'cookbooks')
Chef-solo Windows
1.4.3 Windows Resource
Windows Resource opscode recipe Cookbook
opscode-cookbooks/chef_handler GitHub
opscode-cookbooks/windows GitHub
opscode-cookbooks/powershell GitHub
1.4. Chef-solo
27
ChefTutorial Documentation, Release 1.0
ZIP chef_handler windows C:\chef-repo\cookbooks
Cookbook / Recipe win_default.json
1
2
3
cd C:\chef-repo
echo >> win_default.json
notepad.exe win_default.json
win_default.json
1
{
"run_list" : [
"recipe[windows]"
2
3
28
Chapter 1.
ChefTutorial Documentation, Release 1.0
4
5
Chef-solo Chef-solo
1
2
cd C:\chef-repo
chef-solo -c solo.rb -j win_default.json
Chef
Recipe
1.4. Chef-solo
29
ChefTutorial Documentation, Release 1.0
30
Chapter 1.
CHAPTER 2
Chef
Chef clientWindows chef-soloWindows PuppetChef - Masatomo Nakano Blog
Chef - Masatomo Nakano Blog
Rubyist Magazine - Chef ( 1 )
Rubyist Magazine - Chef ( 2 )
chef-solo knife-solo Read the Docs
ReadTheDocsSphinx - YAMAGUCHI::weblog
Read The Docs (Sphinx) - secretbase.log
31