Dodai projectの紹介

  • 2,343 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,343
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
43
Comments
0
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 4. dodai projectの概要
  • 5. dodai projectって何?●dodai projectとはNIIを中心としたコミュ ニティ活動の中で作成された以下のプロダ クトをオープンソースとして開発/運用する プロジェクトです ◇dodai-deploy ◆ 複数台のマシン上にOpenStackやHadoopなどのミドル ウェアを簡単にインストールするためのツール ◇dodai-compute ◆ 複数の物理マシンにOSをインストールするためのツー ル 4
  • 6. CaaSとは?●CaaSとはCluster as a Serviceの略で、以下の ような要望を叶えるためにPCクラスタをサービ スとして提供する技術を開発するプロジェクト です。(http://wiki.openstack.org/CaaS) ◇仮想化環境ではなく物理環境を直接利用したい ◇複数台のマシンに対してOSやミドルウェアを手間な くインストールしたい ◇IaaS環境やPaaS環境を色々な構成で構築したい SaaS基盤 PaaS基盤 CaaSで提供 IaaS基盤 PC クラスタ 5
  • 7. 「dodai」の名前の由来某機動戦士に出てくる青いアレがムチを振りながら踏んづけている赤いアレが名前の由来だそうです 6
  • 8. キーパーソン●主にアイデアを出している人 @jxta さん●主に実装している人@guanxiaohua2k6 さん 7
  • 9. dodai-deployについて
  • 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
  • 12. CrowbarやJujuがあるのに?●"自分らで作りたかった"●Deployment Toolを作ってた頃はEnsembleす ら無かった(はず…)●Crowbarは作られ始めてたがdodai-deployと しては既にOSがインストール済みである環 境でも利用できる必要があった●どっちにしてもそれらはまだ開発中だった●将来的にはUbuntuだけじゃなくCentOSも ターゲットにしたかった 11
  • 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.xOpenStack 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
  • 15. dodai-computeについて
  • 16. これは何?●簡単に言うと「物理マシンにOSをインス トールしてくれるツール」です●リポジトリや情報は以下にあります ◇https://github.com/nii-cloud/dodai-compute●主にOpenStackを使ってます●dodai-computeには以下の機能があります ◇物理マシンの電源ON/OFF/リブート ◇リソースプール ◇物理マシンへのマシンイメージの適用 ◇ディスク消去 ◇物理マシンのネットワーク設定 15
  • 17. どうしてベアメタル?●「IaaS環境を自由自在な構成で楽に作成で きる環境が欲しかった」◇「別に仮想化の上でもIaaS作れるでしょ?」◇「全てのIaaS基盤がIaaSの上に作れるわけじゃ ない」 16
  • 18. CrowbarやMAASがあるのに?●Ubuntu以外のOSも使いたい●ネットワーク構成をPCクラスタ毎に隔離し たい●将来的には物理マシンも仮想マシンも同じ く扱えるようにしたい◇せっかくOpenStackを流用しているので 17
  • 19. 現状と今後の野望●現状はオープンソースで公開しているとは 言え、dodai-computeの環境を構築するため には色々と他にも必要なものがある ◇OpenFlow ◇os-duper (CentOS 6.2のLiveDVD)●現状は一部のEC2 APIのパラメータを拡張し てしまったので、次のバージョンでは拡張 しない作りにする予定●現バージョンでは少しだけCobblerを使って るけど有効活用していないので、次のバー ジョンでは役割を再検討する 18
  • 20. 利用事例
  • 21. アラバマ大学での利用事例●概要◇dodai-deployを使って彼らのHPCクラスタ 「Gibson」にessexを入れてみたらしい●構成◇Head Node ×1◇Image Server ×1◇Compute Node ×3●詳しくは以下のURLに書いてます◇http://cloud.cs.ua.edu/wiki/index.php/Opens tack_Essex 20
  • 22. NIIでの利用事例●研究者や学生向け にIaaS基盤やPaaS 基盤を構築する環 境としてdodai- computeとdodai- deploy(と OpenFlow{Switch,Controller}と を組 SwiftとNFSサーバとWebUI) み合わせて利用 21
  • 23. NIIでの利用事例● TopSEの講義にて学生に対し てクラウド基盤の構築演習を 行なう環境として利用中 ◇ 物理マシンには「仮想化の入 れ子 (Nested KVM)」が提供 できるOSをインストール ◇ 物理マシンの KVM 上で CentOS 6.2 を稼動 ◇ 学生は CentOS 6.2 の上でク ラウド基盤(Eucalyptus)を構 築する演習を実施 やっべ、 ユーカリ最高! 22
  • 24. 使っているフォント●タイトルとか◇しねきゃぷしょん ◆ http://chiphead.jp/font/htm/cinecaption.htm●本文とか◇ゆたぽん(コーディング) ◆ http://net2.system.to/pc/font.html●箇条書きの記号◇こくばん ◆ http://falseorfont.web.fc2.com/ 23