dodai projectの紹介

Post on 30-Jun-2015

2.501 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

dodai projectの紹介

羽深 修

@habuka036

NTTデータ先端技術株式会社

Eucalyptus Users Group Japan

2012/09/08

まず自己紹介

●「No Eucalyptus, No Life」な人間です

◇Eucalyptusをネタに連載してます

◇Eucalyptusをネタに本書きました

◇Eucalyptusをネタに講師をしてます

●OpenStackとの関りは?

◇DevStackにたった11行ほど非pythonなコード?をコミット ……(´_ゝ`)

◇まわりがみんなOpenStaker …m9( ´д)ヒソ(´д`)ヒソ(д` )c9m

1

そう、まさしく今日

:::::::::::::::::::::::::::::::: : :: :: : ::: : : ヽ i

::::::::::::::::::::::: : : : :: ヽ ビルドトオッタ?

:::::::::::::::::: : : : \ ヽ トオッター

:::::: ::: : : : ∧ ∧

::::: : : :: : ∧_∧ \ Λ _Λ *‘∀‘) Λ

: : : : : .(´・ω ・`)ショボーン ( ^∀^) )(^ワ

___ l⌒i⌒⊂)___ ヽ ( ) | | ∩

/ ⌒'⌒ / \ ̄ ̄ ̄ ̄ ̄\ ̄ ̄

__/_____/|| ||\_____\_

_|||_____||/|| ||\||_____|||_

||| し し .|| || || || |||

2

dodai projectの概要

dodai projectって何?

●dodai projectとはNIIを中心としたコミュニティ活動の中で作成された以下のプロダクトをオープンソースとして開発/運用するプロジェクトです

◇dodai-deploy

◆複数台のマシン上にOpenStackやHadoopなどのミドルウェアを簡単にインストールするためのツール

◇dodai-compute

◆複数の物理マシンにOSをインストールするためのツール

4

CaaSとは?

●CaaSとはCluster as a Serviceの略で、以下のような要望を叶えるためにPCクラスタをサービスとして提供する技術を開発するプロジェクトです。(http://wiki.openstack.org/CaaS) ◇仮想化環境ではなく物理環境を直接利用したい

◇複数台のマシンに対してOSやミドルウェアを手間なくインストールしたい

◇IaaS環境やPaaS環境を色々な構成で構築したい

5

PC クラスタ

SaaS基盤

PaaS基盤

IaaS基盤 CaaSで提供

「dodai」の名前の由来

某機動戦士に出てくる青いアレがムチを振りながら踏んづけている赤いアレが名前の由来だそうです

6

キーパーソン

●主にアイデアを出している人

●主に実装している人

7

@guanxiaohua2k6 さん

@jxta さん

dodai-deployについて

これは何?

● 簡単に言うと「複数マシンにソフトウェアをインストールしてくれるツール」です

● リポジトリや情報は以下にあります ◇ 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

発端は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

CrowbarやJujuがあるのに?

●"自分らで作りたかった"

●Deployment Toolを作ってた頃はEnsembleすら無かった(はず…)

●Crowbarは作られ始めてたがdodai-deployとしては既にOSがインストール済みである環境でも利用できる必要があった

●どっちにしてもそれらはまだ開発中だった

●将来的にはUbuntuだけじゃなくCentOSもターゲットにしたかった

11

何がデプロイできるの?

●対応しているOSは2012/09/08時点で2つ ◇Ubuntu 10.10/11.04/11.10/12.04 ◇CentOS 6.x

●デプロイできるソフトウェアは以下

12

ubuntu 10.10

ubuntu 11.04

ubuntu 11.10

ubuntu 12.04

CentOS 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 ✔ ✔ ✔

※ まだ開発版でのみ

今後の野望とInstall as a Service

●今後、以下を予定

◇Folsomサポート

◇ソフトウェア定義ファイルテンプレートの再検討

◇ソフトウェア定義ファイルテンプレートのダウンロードとアップロード

◇サポートするソフトウェアを増やす

◇マルチテナント化

◇Install as a Service

◆アプリケーションのインストールを楽にしたいのだから、デプロイメントツールのインストールなんてもっと簡単じゃないと嫌だよね

◆だったらサービスとして提供すればいいんじゃない?

13

dodai-computeについて

これは何?

●簡単に言うと「物理マシンにOSをインストールしてくれるツール」です

●リポジトリや情報は以下にあります ◇https://github.com/nii-cloud/dodai-compute

●主にOpenStackを使ってます

●dodai-computeには以下の機能があります ◇物理マシンの電源ON/OFF/リブート

◇リソースプール

◇物理マシンへのマシンイメージの適用

◇ディスク消去

◇物理マシンのネットワーク設定

15

どうしてベアメタル?

●「IaaS環境を自由自在な構成で楽に作成できる環境が欲しかった」

◇「別に仮想化の上でもIaaS作れるでしょ?」

◇「全てのIaaS基盤がIaaSの上に作れるわけじゃない」

16

CrowbarやMAASがあるのに?

●Ubuntu以外のOSも使いたい

●ネットワーク構成をPCクラスタ毎に隔離したい

●将来的には物理マシンも仮想マシンも同じく扱えるようにしたい

◇せっかくOpenStackを流用しているので

17

現状と今後の野望

●現状はオープンソースで公開しているとは言え、dodai-computeの環境を構築するためには色々と他にも必要なものがある ◇OpenFlow

◇os-duper (CentOS 6.2のLiveDVD)

●現状は一部のEC2 APIのパラメータを拡張してしまったので、次のバージョンでは拡張しない作りにする予定

●現バージョンでは少しだけCobblerを使ってるけど有効活用していないので、次のバージョンでは役割を再検討する

18

利用事例

アラバマ大学での利用事例

●概要

◇dodai-deployを使って彼らのHPCクラスタ「Gibson」にessexを入れてみたらしい

●構成

◇Head Node ×1

◇Image Server ×1

◇Compute Node ×3

●詳しくは以下のURLに書いてます

◇http://cloud.cs.ua.edu/wiki/index.php/Openstack_Essex

20

NIIでの利用事例

●研究者や学生向けにIaaS基盤やPaaS基盤を構築する環境としてdodai-computeとdodai-deploy(とOpenFlow{Switch,Controller}と

SwiftとNFSサーバとWebUI)を組み合わせて利用

21

NIIでの利用事例

● TopSEの講義にて学生に対してクラウド基盤の構築演習を行なう環境として利用中 ◇ 物理マシンには「仮想化の入

れ子 (Nested KVM)」が提供できるOSをインストール

◇ 物理マシンの KVM 上で CentOS 6.2 を稼動

◇ 学生は CentOS 6.2 の上でクラウド基盤(Eucalyptus)を構築する演習を実施

22

やっべ、 ユーカリ最高!

使っているフォント

●タイトルとか

◇しねきゃぷしょん

◆ http://chiphead.jp/font/htm/cinecaption.htm

●本文とか

◇ゆたぽん(コーディング)

◆ http://net2.system.to/pc/font.html

●箇条書きの記号

◇こくばん

◆ http://falseorfont.web.fc2.com/

23

top related