openstack-chef-repo                    Tomokazu HIRAI @jedipunkz                   KDDI Web Communications inc.13年2月9日土曜日
What is Chef ? #1             Chef is an open-source systems integration             framework built specifically for auto...
What is Chef ? #2                                   Chef-Server                             (1)                      (3)  ...
Why Chef ?   * 繰り返し実行可能 -> 継続的デプロイ   * コードに汎用性を持たせるのが容易 -> 資産の活用       package ‘nginx’   * API -> アプリ開発が容易13年2月9日土曜日
Chef for OpenStack             去年6月のこと...             We are also working with community             partners such as Rack...
今週流れてきたスライド   http://www.slideshare.net/mattray/chef-11-previewchef-                       for-openstack13年2月9日土曜日
Facebook has adopted             Opscode’s Private Chef     http://www.datacenterknowledge.com/archives/   2013/02/04/face...
openstack-chef-repo         * chef-repo とは chef の作業ディレクトリ         * WorkStation 上に配置         * librarian-chef にて cookbooks...
ディレクトリ構成     openstack-chef-repo     ├── cookbooks     │   ├── apache2     │   ├── keystone     │   ├── glance     │   ├──...
実行準備 #1             % gem install librarian chef spiceweasel             % git clone git://github.com/opscode/openstack-ch...
実行準備 #2              % vim infrastructure.yml              cookbooks:              - keystone: #used by keystone role     ...
実行   % spiceweasel infrastructure.yml # コマンドライン出力   knife cookbook upload apache2   knife cookbook upload apt   ... 略   kn...
まとめ      • spiceweasel がインテグレーションしてくれる      • librarian で cookbooks を取得 # berkshelf に置き換えてほしい      • environments にて複数環境を管...
Upcoming SlideShare
Loading in …5
×

Openstack chef-repo

4,172 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,172
On SlideShare
0
From Embeds
0
Number of Embeds
2,167
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Openstack chef-repo

  1. 1. openstack-chef-repo Tomokazu HIRAI @jedipunkz KDDI Web Communications inc.13年2月9日土曜日
  2. 2. What is Chef ? #1 Chef is an open-source systems integration framework built specifically for automating the cloud. * Chef-Server * Node * WorkStation13年2月9日土曜日
  3. 3. What is Chef ? #2 Chef-Server (1) (3) openstack-chef-repo (2) WorkStation Node (1) : cookbooks, roles, data_bag, environments 等をアップロード (2) : node に対して ‘bootstrap’ 行いデプロイ開始 (3) : cookbooks, roles 等をダウンロードし chef-client 実行, その後も定期的に実行13年2月9日土曜日
  4. 4. Why Chef ? * 繰り返し実行可能 -> 継続的デプロイ * コードに汎用性を持たせるのが容易 -> 資産の活用 package ‘nginx’ * API -> アプリ開発が容易13年2月9日土曜日
  5. 5. Chef for OpenStack 去年6月のこと... We are also working with community partners such as Rackspace, Dell, DreamHost and HP to help provide a solid basis for deploying and managing OpenStack. http://www.opscode.com/blog/2012/06/27/chef-for- openstack/13年2月9日土曜日
  6. 6. 今週流れてきたスライド http://www.slideshare.net/mattray/chef-11-previewchef- for-openstack13年2月9日土曜日
  7. 7. Facebook has adopted Opscode’s Private Chef http://www.datacenterknowledge.com/archives/ 2013/02/04/facebook-uses-retooled-chef-to-manage- infrastructure/13年2月9日土曜日
  8. 8. openstack-chef-repo * chef-repo とは chef の作業ディレクトリ * WorkStation 上に配置 * librarian-chef にて cookbooks (keystone,glance, nova ...) を取得 * environments(例えば production) で各 cookbook attribute を上書きし 全体の整合性を取る * spiceweasel により knife コマンドを出力・実行13年2月9日土曜日
  9. 9. ディレクトリ構成 openstack-chef-repo ├── cookbooks │   ├── apache2 │   ├── keystone │   ├── glance │   ├── .. 略 ├── environments │   └── production.rb ├── infrastructure.yml ├── roles │   ├── allinone.rb │   ├── base.rb │   ├── glance.rb │   ├── horizon-server.rb * 環境に合わせて修正・追記 │   ├── .. 略13年2月9日土曜日
  10. 10. 実行準備 #1 % gem install librarian chef spiceweasel % git clone git://github.com/opscode/openstack-chef-repo.git % cd openstack-chef-repo % librarian-chef update # cookbooks 取得 % vim environments/production.rb ... 略 "osops_networks" => { "public" => "10.200.8.0/24", "management" => "10.200.8.0/24", "nova" => "10.200.8.0/24" }, ... 略 * 追記修正13年2月9日土曜日
  11. 11. 実行準備 #2 % vim infrastructure.yml cookbooks: - keystone: #used by keystone role version: 2012.1.1 ... 略 roles: - base: - rabbitmq-server: - keystone: ... 略 environments: - production: nodes: - 10.200.8.19: run_list: role[allinone] options: -i ~/.ssh/id_rsa -x root -E production * 追記修正13年2月9日土曜日
  12. 12. 実行 % spiceweasel infrastructure.yml # コマンドライン出力 knife cookbook upload apache2 knife cookbook upload apt ... 略 knife environment from file production.rb knife role from file base.rb knife role from file rabbitmq-server.rb ... 略 knife bootstrap 10.200.8.19 -i ~/.ssh/id_rsa -x root -E production -r role[allinone] % spiceweasel -e infrastructure.yml # 実行 ... 10分程度待機 完成! :D13年2月9日土曜日
  13. 13. まとめ • spiceweasel がインテグレーションしてくれる • librarian で cookbooks を取得 # berkshelf に置き換えてほしい • environments にて複数環境を管理出来る (staging, testing ..) • ‘all in one’ 構成も複数台構成も可能 #複数台は未確認 • folsom ベースは直ちに開発が始まるそう, 現在は essex ベース • chef はインストールツールではなく ‘継続的にデプロイ(運用)す るためのフレームワーク’ である13年2月9日土曜日

×