BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Docker 向けCloud Foundry BOSHがリリース

Docker 向けCloud Foundry BOSHがリリース

原文(投稿日:2014/06/11)へのリンク

Cloud FoundryがDocker向けのCF-BOSHをオープンソースとして試験的にリリースした。これは、オリジナルのBOSHと同等の機能し、大規模な分散システムのサービスのライフサイクルの管理を行う。今回のリリースはDockerコンテナ向けだ。

Cloud Foundry BOSHはIaaS上で複数のノードを使うアプリケーションを編成するための汎用的なツールチェーンであり、状態を持つデータのライフサイクルを管理し、監視、アラート、自己回復機能を提供する。Cloud Foundryの用語で言う仮想マシンのテンプレートであるスティムセルを管理し、ソフトウエアのリリースや配置を管理する。BOSHはYAMLマニュフェストを使い、VMのプールを作成し、管理する。プールからリリースの各ジョブ向けにVMを取り出し、マニュフェストに従って構成を更新する。

Cloud FoundryチームのFerran Rodenas氏は今回リリースの利点を下記のように一覧する

  1. 複数のDockerコンテナを複数の仮想マシン上で管理できる。

  2. コンテナの配置先のIaaS(AWS、OpenStack、VSphere、VCHS、CloudStack、Google Compute Engine)を選べる。

  3. コンテナを自動的に監視し、障害が発生したら再起動する。

  4. コンテナに障害が起こったら、障害を起こしたインスタンスが再起動したとき、依存するコンテナも再起動する。

  5. 仮想マシンは自動的に監視され、障害が発生したとき再作成される。

  6. ホストボリュームはDockerコンテナにバインドされる。

  7. Dockerコンテナにアタッチされたデータディスクはデータを失うことなく拡張できる。

今回のリリースでは、配置には宣言的なアプローチを採用している。YAMLファイルでジョブや仮想マシン、配置対象のDockerを定義する。Dockerのデーモンプロセスを監視するだけでなく、配置した各コンテナが実行しているかも監視する。何らかの理由でDockerデーモンやひとつのコンテナが死んだとき、BOSHは自動的にその障害を検知し、人間が介入することなく自動的に再起動する。

BOSHには定期的に仮想マシン内で動作しているエージェントにpingを実行して、状態をチェックし、エージェントに接続できなかった場合や配置の状態が期待通りでなかった場合、アラートを発砲する。アラートは異なる方法で発砲される。メールやページャなどだ。また、特別な"復活機構"を軌道して、自動的にVMを置き換えて、既存のディスクをアタッチし直し、デプロイをしてプロセスを起動する。

DockerのイメージやDockerfilesをCloud Foundryに統合する試みはほかにも行われている。DiegoプロジェクトはCloud Foundry実行エージェント(DEA)を置き換え、複数の実行環境に拡張できるようにする。CloudCredoはDeckerで書かれている。Deckerは、Cloud Foundry DEAの再実装であり、バックエンドにDockerを使っている。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT