openstack chef-repo

13
openstack-chef-repo Tomokazu HIRAI @jedipunkz KDDI Web Communications inc. 1329日土曜日

Upload: tomokazu-hirai

Post on 15-Jul-2015

3.442 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Openstack chef-repo

openstack-chef-repoTomokazu HIRAI @jedipunkz

KDDI Web Communications inc.13年2月9日土曜日

Page 2: Openstack chef-repo

What is Chef ? #1Chef is an open-source systems integration framework built specifically for automating the cloud.

* Chef-Server* Node* WorkStation

13年2月9日土曜日

Page 3: Openstack chef-repo

What is Chef ? #2Chef-Server

WorkStation Node

(1)

(2)

(3)

(1) : cookbooks, roles, data_bag, environments 等をアップロード(2) : node に対して ‘bootstrap’ 行いデプロイ開始(3) : cookbooks, roles 等をダウンロードし chef-client 実行, その後も定期的に実行

openstack-chef-repo

13年2月9日土曜日

Page 4: Openstack chef-repo

Why Chef ?

* 繰り返し実行可能 -> 継続的デプロイ

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

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

13年2月9日土曜日

Page 5: Openstack chef-repo

Chef for OpenStack

We are also working with communitypartners such as Rackspace, Dell, DreamHostand HP to help provide a solid basis for deployingand managing OpenStack.

http://www.opscode.com/blog/2012/06/27/chef-for-openstack/

去年6月のこと...

13年2月9日土曜日

Page 8: Openstack chef-repo

openstack-chef-repo* chef-repo とは chef の作業ディレクトリ

* WorkStation 上に配置

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

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

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

13年2月9日土曜日

Page 9: Openstack chef-repo

ディレクトリ構成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日土曜日

Page 10: Openstack chef-repo

実行準備 #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日土曜日

Page 11: Openstack chef-repo

実行準備 #2% vim infrastructure.ymlcookbooks:- 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日土曜日

Page 12: Openstack chef-repo

実行% spiceweasel infrastructure.yml # コマンドライン出力knife cookbook upload apache2knife cookbook upload apt... 略knife environment from file production.rbknife role from file base.rbknife 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日土曜日

Page 13: Openstack chef-repo

まとめ• spiceweasel がインテグレーションしてくれる

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

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

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

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

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

13年2月9日土曜日