DCOS GA開始
2015年6月10日、
DCOSとは何か、DCOSで何ができるのか?
Mesosphere社はデータセンター全体をあたかも1つのオペレーティングシステムでコントロールする仕組みがDCOSであると言っています。とはいうものの、
- 1.Scale Infinity
(無制限のスケーラビリティ) -
DCOSはオープンソースのMesosをベースに構築されたクラスタソリューションスイートです。Mesosは従来のクラスタ管理ソフトウェアと比べ、
配下でコントロールできる処理用ホスト (ノード) を非常に大きくできることが特長の1つです。1つのクラスタマスターはおよそ1万ノードの処理用ホストを制御することが可能です。 - 2.Run Anywhere
(どこでも動く) -
従来のクラスタ管理ソフトウェアは動作要件が複雑であるなどの理由で、
オンプレミス環境でのみ動作することが一般的でした。昨今ニーズとして現れている、 オンプレミスとパブリッククラウドを併用するような用途のためには大規模な改修や、 高価なアドオン、 複雑な運用管理を必要とすることが一般的です。DCOSは設計当初からハイブリッドクラウドの利用が想定されており、 複数のリソース、 クラウドを効率的に管理します。 - 3.Never Fail
(ダウンしない、 可用性が高い) -
DCOSではクラスタで実行したプロセスを監視し、
何らかの理由で停止した場合には自動的に再起動する機能を有しています。これにより、 サービスを常時稼働させておくために別途プログラムを導入したり、 作り込む必要がありません。 - 4. Optimize Resources
(リソースの最適化) -
DCOSは投入したプロセスが要求するリソース
(CPUコア数、 メモリ量など) を把握し、 クラスタ内部の空きリソースを適切に割り当てます。したがって、 事前に負荷を予測し最大利用にあわせて高価なサーバやインスタンスを事前に用意しておく必要がありません。DCOSクラスタ全体のリソースが逼迫した時には、 追加のサーバやインスタンスを適宜追加することで、 クラスタ全体のリソース容量をオンデマンドで増減させることができます。 - 5.Operate Automatically
(オペレーションの自動化) -
DCOSにはオペレーションに必要な定時処理
(毎週月曜9:00に行う処理など) を自動化するプログラムChronosが同梱されています。これはUNIXのcronのようにふるまい、 定期的にDCOSクラスタ内でプログラムの実行を行うことができます。もちろん実行されるプログラムはDCOSによって制御され、 なおかつ複数の相互依存のあるプログラムを順番に実行することも可能です。 - 6.Develop Quickly
(迅速な開発) -
これによりアプリケーションプログラマはインフラの容量を気にせず、
DCOSでの開発に専念することができるようになります。 - 7.Docker Support
(Dockerサポート) -
DCOSでは、
Dockerと連携してアプリケーションを実行する機能をサポートしています。Dockerコンテナによりアプリケーションの異なる実行環境を簡便にパッケージすることが可能になり、 同一ライブラリ複数バージョンのサポートといった、 クラスタ環境の統合に伴う課題を解決することができます。またDCOSではDockerプライベートリポジトリとの連携もサポートしているため、 企業内で独自に保有しているソフトウェア資産と連携しながら柔軟でスケーラブルなアプリケーション実行基盤を提供することが可能です。
DCOSを起動してみよう
上記の特長により、
まずはDCOSを起動してみましょう。現在一般利用可能なDCOSは、
"Community Edition"と、
導入するパブリッククラウドを選択します。"Community Edition"はAWS上でしか提供されていませんので、
AWSの起動画面に遷移しますので、
続けて
導入形態を選択します。今回は"US East(us-east-1)"リージョンの、
- ※)
- "3 Masters"を選択すると、
DCOSマスターをHA高可用構成で構成して起動することができるようになります。
実際の構成はAWS CloudFormationを使用して行われます。
DCOS起動に関するパラメータを指定します。
それぞれの項目は以下の意味を持っています
- AcceptEULA:End User License Agreementに同意する必要があります。
[Yes] を選択します - AdminLocation:管理インターフェイスにアクセス可能なネットワークアドレスを指定することができます。"0.
0.0. 0/ 0"を選択すると、 どのアドレスからもDCOS管理インターフェイスにアクセスすることができるようになります - KeyName:EC2キーペア名を指定します
(作成していない場合は事前に作成してください) - PublicSlaveInstanceCount:パブリックIPアドレスとしてアクセス可能なDCOSスレーブノードの数を指定します
- SlaveInstanceCount:DCOSスレーブノードの数を指定します
指定したら、
オプション指定画面に遷移しますが、
設定のレビュー画面が表示されます。
画面下部の"I acknowledge that this template might cause AWS CloudFormation to create IAM resources."にチェックを入れて、
AWS CloudFormationによる作成が開始されます。作成にはおおよそ15分~30分程度かかります。
作成が完了すると、
無事にDCOSの管理画面が開きました。これでDCOSの起動は完了です 。
DCOSでアプリケーションを起動する
DCOSは独自のパッケージマネージャやパッケージリポジトリを有しており、
- Apache Spark
- Apache Cassandra
- Kubernetes
- Hadoop
- Apache Kafka
社内で使用しているアプリケーションについても適切なパッケージングを施すことで、
それでは実際にDCOSアプリケーションを起動してみましょう。現在開いている管理GUIにはコマンドスニペットがありますので、
処理が完了すると、
15分くらい待つと、
また、
このように、
さいごに
DCOSは数多く分散されたサーバやインスタンスのリソースを統合し、
次回はDCOSとDockerの連携についてご紹介します。DCOSとDockerが連携することで、
DCOSに関してのお問い合わせがありましたら、