せっかくVagrantを入れたのでOpenShift-Originで遊んでみる
Redhatが提供するOpenShiftというPaaS型クラウドがありまして、先日正式サービスを開始しました。
OpenShiftといえばCloudFoundryと同じようにオープンPaaSとか呼ばれたりしている、要はソースコードが公開されているPaaSです。ソースコードが公開されているため、当然ローカルに同じような環境を作ることができます。
OpenShiftではオンプレミスにOpenShiftの環境を作成するためのコンポーネントとしてOpenShift-Originが提供されています。以前は自前で環境を用意するのはかなり面倒で、もっぱらLiveCDを用いた環境構築が行われていたようですが、最近ではVagrantを用いて簡単にVMインスタンスが作成できるようになっています。
(※インスタンス内部のセットアップにはpuppetが使われています。)
今回はVagrantを利用してOpenShift-Originの環境を構築し、簡単なNode.jsアプリケーションを走らせてみます。
インスタンスの構築
基本的には以下のページにしたがって構築を行います。
Installing OpenShift Origin using Vagrant
今回は以下のような環境で構築を行いました。
手順は以下のようになります
OpenShift Origin Vagrant Templateをダウンロードして展開する
curl -s https://nodeload.github.com/openshift/puppet-openshift_origin/legacy.tar.gz/master | tar zxf -
展開したフォルダ内にあるtestディレクトリに移動し、コマンドを実行する
vagrant up
なんとこれだけです。若干時間がかかりますが、fedra ベースのOpenShift-Originが構成されます。無事に構築が完了したら rhc
コマンドのセットアップを行い、アプリケーションを生成できるようにしましょう。
> vagrant ssh
$ rhc setup
...
Connect without checking the certificate? (yes|no): yes
Login to brocker.example.com: admin
Password: admin
...
Generate a token now? (yes|no): yes
...
Your public SSH key must be uploaded to the OpenShift Server to access code. Upload now? (yes|no): yes
...
Please enter a namespace (letters and numbers only) |<none>|: localns
...
これで rhc
コマンドのセットアップも完了です。実際に rhc
コマンドを利用してサンプルアプリを作成してみましょう。
$ rhc app create samplenode nodejs-0.6
はい、失敗しました。
なんでか分かりませんが、node.js用のカートリッジが用意されていないみたいです。たとえば以下のコマンドを実行してみましょう。
$ rhc cartridge list
Node.jsないですね…。しょうがないのでgithubから持ってくることにします。 新しいカートリッジの追加方法はこのスライドに書いてありました。
$ oo-admin-cartridge -a install -s cartridge
というわけでopenshiftのリポジトリからソースを落としてnode.jsのカートリッジを追加します。
$ cd /usr/local/src
$ git clone https://github.com/openshift/origin-server.git
$ cp origin-server/cartridges/openshift-origin-cartridge-nodejs /usr/libexec/openshift/cartridges/v2
$ cd /usr/libexec/openshift/cartridges/v2
$ mv openshift-origin-cartridge-nodejs nodejs
$ cp nodejs/metadata/menifest.yml.0.6 nodejs/metadata/manifest.yml
$ oo-admin-cartridge -a install -s nodejs
念のためいったんサーバーを再起動して、再度コマンドを実行します。
$ rhc app create samplenode nodejs-0.6
これでアプリケーションのひな形も完成しました。
http://samplenode-localns.example.com にアクセスするとアプリケーションが稼動していることを確認することができます。(ホストマシンから接続するにはブリッジ接続する必要がありそう)
やりましたね :)
- 作者: Mitchell Hashimoto
- 出版社/メーカー: O'Reilly Media
- 発売日: 2013/05/30
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
- 作者: Mitchell Hashimoto
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2013/06/12
- メディア: ペーパーバック
- クリック: 5回
- この商品を含むブログを見る