SlideShare a Scribd company logo
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 automating the
             cloud.




   * Chef-Server
   * Node
   * WorkStation



13年2月9日土曜日
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日土曜日
Why Chef ?
   * 繰り返し実行可能 -> 継続的デプロイ

   * コードに汎用性を持たせるのが容易 -> 資産の活用
       package ‘nginx’

   * API -> アプリ開発が容易




13年2月9日土曜日
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日土曜日
今週流れてきたスライド




   http://www.slideshare.net/mattray/chef-11-previewchef-
                       for-openstack

13年2月9日土曜日
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日土曜日
openstack-chef-repo
         * chef-repo とは chef の作業ディレクトリ

         * WorkStation 上に配置

         * librarian-chef にて cookbooks (keystone,glance, nova ...) を取得

         * environments(例えば production) で各 cookbook attribute を上書きし
         全体の整合性を取る

         * spiceweasel により knife コマンドを出力・実行




13年2月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日土曜日
実行準備 #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日土曜日
実行準備 #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日土曜日
実行
   % 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分程度待機

   完成! :D




13年2月9日土曜日
まとめ
      • spiceweasel がインテグレーションしてくれる

      • librarian で cookbooks を取得 # berkshelf に置き換えてほしい

      • environments にて複数環境を管理出来る (staging, testing ..)

      • ‘all in one’ 構成も複数台構成も可能 #複数台は未確認

      • folsom ベースは直ちに開発が始まるそう, 現在は essex ベース

      • chef はインストールツールではなく ‘継続的にデプロイ(運用)す
             るためのフレームワーク’ である


13年2月9日土曜日

More Related Content

What's hot

Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテストServerspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
Yoshinori Nakanishi
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
 
Chefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについてChefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについて
Yuuki Namikawa
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
Hideki Saito
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較Sugawara Genki
 
Capistrano
CapistranoCapistrano
Capistrano
Yasuharu Fukuda
 
Ansible handson ood2016
Ansible handson ood2016Ansible handson ood2016
Ansible handson ood2016
Hideki Saito
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
BIGLOBE Tech Talk
 
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
佐久本正太
 
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Sea Mountain
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudyTakeshi Komiya
 
Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Sea Mountain
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
Takeshi Kuramochi
 
Chef概論とレシピ実践入門
Chef概論とレシピ実践入門Chef概論とレシピ実践入門
Chef概論とレシピ実践入門
Kazuto Ohara
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
Hideki Saito
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2学 松崎
 

What's hot (20)

Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテストServerspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
 
NDS#31
NDS#31NDS#31
NDS#31
 
Chefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについてChefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについて
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
Capistrano
CapistranoCapistrano
Capistrano
 
Ansible handson ood2016
Ansible handson ood2016Ansible handson ood2016
Ansible handson ood2016
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
 
Chef study
Chef studyChef study
Chef study
 
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
 
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy
 
Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
Chef概論とレシピ実践入門
Chef概論とレシピ実践入門Chef概論とレシピ実践入門
Chef概論とレシピ実践入門
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
 

Similar to Openstack chef-repo

実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
Masanori Ishigami
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
Midori Oge
 
サーバー設定自動化は経営課題
サーバー設定自動化は経営課題 サーバー設定自動化は経営課題
サーバー設定自動化は経営課題
Maho Takara
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Midori Oge
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
 
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
辰徳 斎藤
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
gree_tech
 
What is chef
What is chefWhat is chef
What is chef
Yukihiko SAWANOBORI
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud AutomationEtsuji Nakai
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
OSSラボ株式会社
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
OSSラボ株式会社
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
Hiroshi Miura
 

Similar to Openstack chef-repo (20)

実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
サーバー設定自動化は経営課題
サーバー設定自動化は経営課題 サーバー設定自動化は経営課題
サーバー設定自動化は経営課題
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
 
What is chef
What is chefWhat is chef
What is chef
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChef
 
Mina 20130417
Mina 20130417Mina 20130417
Mina 20130417
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 

Openstack chef-repo

  • 1. openstack-chef-repo Tomokazu HIRAI @jedipunkz KDDI Web Communications inc. 13年2月9日土曜日
  • 2. What is Chef ? #1 Chef is an open-source systems integration framework built specifically for automating the cloud. * Chef-Server * Node * WorkStation 13年2月9日土曜日
  • 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. Why Chef ? * 繰り返し実行可能 -> 継続的デプロイ * コードに汎用性を持たせるのが容易 -> 資産の活用 package ‘nginx’ * API -> アプリ開発が容易 13年2月9日土曜日
  • 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. 今週流れてきたスライド http://www.slideshare.net/mattray/chef-11-previewchef- for-openstack 13年2月9日土曜日
  • 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. openstack-chef-repo * chef-repo とは chef の作業ディレクトリ * WorkStation 上に配置 * librarian-chef にて cookbooks (keystone,glance, nova ...) を取得 * environments(例えば production) で各 cookbook attribute を上書きし 全体の整合性を取る * spiceweasel により knife コマンドを出力・実行 13年2月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. 実行準備 #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. 実行準備 #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. 実行 % 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分程度待機 完成! :D 13年2月9日土曜日
  • 13. まとめ • spiceweasel がインテグレーションしてくれる • librarian で cookbooks を取得 # berkshelf に置き換えてほしい • environments にて複数環境を管理出来る (staging, testing ..) • ‘all in one’ 構成も複数台構成も可能 #複数台は未確認 • folsom ベースは直ちに開発が始まるそう, 現在は essex ベース • chef はインストールツールではなく ‘継続的にデプロイ(運用)す るためのフレームワーク’ である 13年2月9日土曜日