1時間 15分で解る Chef
Tomokazu HIRAI
13年10月2日水曜日
Chef の構成
Chef-Server
WorkStation Node
(1)
(2)
(3)
(1) : cookbooks, roles, data_bag, environments 等をアップロード
(2) : node に対して ...
Chef Server
% wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/
x86_64/chef-server_11.0.8-1.ubuntu.12.0...
WorkStation
server% knife configure -i
の生成
client% mkdir .chef
client% scp <server>:~/thirai.pem .chef/
client% scp <serve...
Chef-Repo
chef-repo
!"" cookbooks
#   %"" nginx
#   !"" attributes
#   !"" definitions
#   !"" files
#   #   %"" default
#...
Chef を構成する要素
* Cookbooks
* Roles
* Environments
* Data_bags
13年10月2日水曜日
Cookbooks
* Attributes
* Templates
* Recipe
default['apache']['package'] = "httpd"
default['apache']['pid_file'] = "/var/r...
Cookbooks
* Attributes
* Templates
* Recipe
PidFile <%= node['apache']['pid_file'] %>
Timeout <%= node['apache']['timeout'...
Cookbooks
* Attributes
* Templates
* Recipe
package "apache2" do
  package_name node['apache']['package']
end
13年10月2日水曜日
Cookbooks
* Attributes
* Templates
* Recipe
package "apache2" do
  package_name node['apache']['package']
end
http://docs....
Roles
name "webservers"
description "role of web servers"
run_list "recipe[apache2]", "recipe[apache2::mod_fastcgi]"
overr...
Environments
name	
  "dev"
description	
  "The	
  development	
  environment"
cookbook_versions	
  	
  "couchdb"	
  =>	
  ...
Data Bags
% ${EDITOR} bofh.json
{
"id": "bofh",
"ssh_keys": "ssh-rsa AAAAB3Nz...yhCw== bofh",
"groups": [ "sysadmin", "dba...
Upcoming SlideShare
Loading in...5
×

Chef study

456
-1

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
456
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Chef study

  1. 1. 1時間 15分で解る Chef Tomokazu HIRAI 13年10月2日水曜日
  2. 2. Chef の構成 Chef-Server WorkStation Node (1) (2) (3) (1) : cookbooks, roles, data_bag, environments 等をアップロード (2) : node に対して ‘bootstrap’ 行いデプロイ開始 (3) : cookbooks, roles 等をダウンロードし chef-client 実行, その後も定期的に実行 knife を使い操作 13年10月2日水曜日
  3. 3. Chef Server % wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/ x86_64/chef-server_11.0.8-1.ubuntu.12.04_amd64.deb % sudo dpkg -i chef-server_11.0.8-1.ubuntu.12.04_amd64.deb Chef-Server WorkStation Node 13年10月2日水曜日
  4. 4. WorkStation server% knife configure -i の生成 client% mkdir .chef client% scp <server>:~/thirai.pem .chef/ client% scp <server>:~/chef-validator.pem .chef/ client% vim .chef/knife.rb log_level :info log_location STDOUT node_name 'thirai' client_key '/Users/thirai/chef-repo/.chef/thirai.pem' validation_client_name 'chef-validator' validation_key '/Users/thirai/chef-repo/.chef/chef-validator.pem' chef_server_url 'https://10.200.10.96' syntax_check_cache_path '/Users/thirai/chef-repo/.chef/syntax_check_cache' client% knife node list # knife コマンドが利用可能に。 foo01 foo02 ... Chef-Server WorkStation Node 13年10月2日水曜日
  5. 5. Chef-Repo chef-repo !"" cookbooks #   %"" nginx #   !"" attributes #   !"" definitions #   !"" files #   #   %"" default #   #   %"" tests #   #   %"" minitest #   #   %"" support #   !"" recipes #   %"" templates #   !"" debian #   !"" default #   #   !"" modules #   #   %"" plugins #   !"" gentoo #   %"" ubuntu !"" data_bags !"" environments %"" roles Chef-Server WorkStation Node 13年10月2日水曜日
  6. 6. Chef を構成する要素 * Cookbooks * Roles * Environments * Data_bags 13年10月2日水曜日
  7. 7. Cookbooks * Attributes * Templates * Recipe default['apache']['package'] = "httpd" default['apache']['pid_file'] = "/var/run/httpd.pid" default['apache']['timeout'] = 300 default['apache']['keepalive'] = "On" 13年10月2日水曜日
  8. 8. Cookbooks * Attributes * Templates * Recipe PidFile <%= node['apache']['pid_file'] %> Timeout <%= node['apache']['timeout'] %> KeepAlive <%= node['apache']['keepalive'] %> 13年10月2日水曜日
  9. 9. Cookbooks * Attributes * Templates * Recipe package "apache2" do   package_name node['apache']['package'] end 13年10月2日水曜日
  10. 10. Cookbooks * Attributes * Templates * Recipe package "apache2" do   package_name node['apache']['package'] end http://docs.opscode.com/resource.html Resources 13年10月2日水曜日
  11. 11. Roles name "webservers" description "role of web servers" run_list "recipe[apache2]", "recipe[apache2::mod_fastcgi]" override_attributes "apache2" => { "max_children" => "50" } recipe/default.rb recipe/mod_fastcgi.rb 13年10月2日水曜日
  12. 12. Environments name  "dev" description  "The  development  environment" cookbook_versions    "couchdb"  =>  "=  11.0.0" override_attributes  "apache2"  =>  {  "listen_ports"  =>  [  "80",  "443"  ]  } 13年10月2日水曜日
  13. 13. Data Bags % ${EDITOR} bofh.json { "id": "bofh", "ssh_keys": "ssh-rsa AAAAB3Nz...yhCw== bofh", "groups": [ "sysadmin", "dba", "devops" ], "uid": 2001, "shell": "/bin/bash", "comment": "BOFH", "nagios": { "pager": "8005551212@txt.att.net", "email": "bofh@example.com" }, "openid": "bofh.myopenid.com" } % knife data bag create users % knife data bag from file users ./bofh.json 13年10月2日水曜日
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×