Contenu connexe Similaire à Dodai projectの紹介 Similaire à Dodai projectの紹介 (20) Plus de Osamu Habuka (16) Dodai projectの紹介1. dodai projectの紹介
羽深 修
@habuka036
NTTデータ先端技術株式会社
Eucalyptus Users Group Japan
2012/09/08
2. まず自己紹介
●「No Eucalyptus, No Life」な人間です
◇Eucalyptusをネタに連載してます
◇Eucalyptusをネタに本書きました
◇Eucalyptusをネタに講師をしてます
●OpenStackとの関りは?
◇DevStackにたった11行ほど非pythonなコード?
をコミット
……(´_ゝ`)
◇まわりがみんなOpenStaker
…m9( ´д)ヒソ(´д`)ヒソ(д` )c9m
1
3. そう、まさしく今日
:::::::::::::::::::::::::::::::: : :: :: : ::: : : ヽ i
::::::::::::::::::::::: : : : :: ヽ ビルドトオッタ?
:::::::::::::::::: : : : \ ヽ トオッター
:::::: ::: : : : ∧∧
::::: : : :: : ∧_∧ \ Λ _Λ *‘∀‘) Λ
: : : : : .(´・ω ・`)ショボーン ( ^∀^) )(^ワ
___ l⌒i⌒⊂)___ ヽ ( ) | |∩
/ ⌒'⌒ / \ ̄ ̄ ̄ ̄ ̄\ ̄ ̄
__/_____/|| ||\_____\_
_|||_____||/|| ||\||_____|||_
||| し し .|| || || || |||
2
6. CaaSとは?
●CaaSとはCluster as a Serviceの略で、以下の
ような要望を叶えるためにPCクラスタをサービ
スとして提供する技術を開発するプロジェクト
です。(http://wiki.openstack.org/CaaS)
◇仮想化環境ではなく物理環境を直接利用したい
◇複数台のマシンに対してOSやミドルウェアを手間な
くインストールしたい
◇IaaS環境やPaaS環境を色々な構成で構築したい
SaaS基盤
PaaS基盤
CaaSで提供
IaaS基盤
PC クラスタ
5
10. これは何?
● 簡単に言うと「複数マシンにソフトウェアをインストールしてくれる
ツール」です
● リポジトリや情報は以下にあります
◇ https://github.com/nii-cloud/dodai-deploy
● 使い方はOpenStackの管理者マニュアルにも書いてあります。
◇ http://docs.openstack.org/essex/openstack-
compute/admin/content/openstack-compute-deployment-tool-with-
puppet.html
● 主にrailsとpuppetとmcollectiveを使ってます
● dodai-deployは以下のコンポーネントで構成されます
◇ サーバ
◆ インストールするソフトウェアの設定や構成を管理
◆ インストール対象のマシン情報を管理
◆ ノードに指示を出す
◇ ノード
◆ インストール対象の各マシン上に配置
◆ サーバからの指示に従ってインストール/アンインストールなどを行なう
● 利用者は、Web UI/CUI/REST APIから好きな方法で利用可能
9
11. 発端はDeployment Tool
● 反復作業は嫌。やっぱDRYだよね。
◇ OpenStackを様々な構成や設定で何度も何度もインストールする日々がツラ
いので、何とか簡単に環境を作れないものだろうか?というのが最初の要
求
● bashで書いてみた
◇ OpenStackのインストール省力化が目的なのに、そのためのアプリケーショ
ンやツールやライブラリを頑張ってインストールしなきゃいけないのはナ
ンセンス
◇ しかし、この時点ではまだこのツール自体のセットアップに手数を要する
● pythonで書き直した
◇ bashで何とか頑張ってみたけど生産性を向上させるのがツラいのでpython
で書き直した
◇ それでもこのツール自体のセットアップに手数を要する状態はなかなか解
消できなかった
◆ 最初の要求であるOpenStack環境の構築が省力化できるようになることがmustだった
ので…
◇ ちなみに以下にデモムービーがあります
◆ http://wiki.openstack.org/NovaInstall/NovaDeploymentTool#Deployment_Tool_for
_Cactus
● そしてrubyになってdodai-deployとして再出発
10
13. 何がデプロイできるの?
●対応しているOSは2012/09/08時点で2つ
◇Ubuntu 10.10/11.04/11.10/12.04
◇CentOS 6.x
●デプロイできるソフトウェアは以下
ubuntu ubuntu ubuntu ubuntu CentOS
10.10 11.04 11.10 12.04 6.x
OpenStack Essex ✔ △※
(Nova, Glance, Swift, Keystone)
OpenStack Diablo ✔ ✔ ✔
(Nova, Glance, Swift)
Eucalyptus 3.1 △※
hadoop 0.20.2 ✔ ✔ ✔ ✔
sun grid engine 6.2u5 ✔ ✔ ✔
※ まだ開発版でのみ
12
14. 今後の野望とInstall as a Service
●今後、以下を予定
◇Folsomサポート
◇ソフトウェア定義ファイルテンプレートの再検討
◇ソフトウェア定義ファイルテンプレートのダウン
ロードとアップロード
◇サポートするソフトウェアを増やす
◇マルチテナント化
◇Install as a Service
◆ アプリケーションのインストールを楽にしたいのだから、
デプロイメントツールのインストールなんてもっと簡単
じゃないと嫌だよね
◆ だったらサービスとして提供すればいいんじゃない?
13
23. NIIでの利用事例
● TopSEの講義にて学生に対し
てクラウド基盤の構築演習を
行なう環境として利用中
◇ 物理マシンには「仮想化の入
れ子 (Nested KVM)」が提供
できるOSをインストール
◇ 物理マシンの KVM 上で
CentOS 6.2 を稼動
◇ 学生は CentOS 6.2 の上でク
ラウド基盤(Eucalyptus)を構
築する演習を実施
やっべ、
ユーカリ最高!
22