[PaaS][OSS][DevOps] VagrantとPuppetでOpenShift-Origin環境を簡単に手に入れる

By |7月 19, 2013|DevOps, OSS, PaaS, |


以前、[PaaS][OSS] OpenShift Onlineを触ってみたでOpenShiftのサービス提供を試しましたが、何やらこちらのPuppetモジュールとVagrantVirtualBoxを利用すれば簡単に自前のOpenShift-Origin環境が手に入るらしいので試してみました。

※Vagrantって何?という方はPublickeyさんの「Vagrant」は仮想環境をプログラミングするツール。同一環境をどこにでも、いくつでもすぐに作成可能。Vagrant meetup 2013などをご覧ください。

まずPuppetモジュールをgit cloneします。

[html]
# git clone git@github.com:openshift/puppet-openshift_origin.git
[/html]

次にcloneしたディレクトリにあるtestディレクトリに入りvagrant upします。

[html]
# cd openshift-vagrant-centos/test/
# vagrant up
[/html]

プロビジョニングに結構時間がかかりますが、たったこれだけで以下の画像のように自前のVirtualBoxにfedoraベースのOpenShift-Origin環境が構成されます。非常に便利!

VirtualBox管理画面

続いて今作ったOpenShift-Origin環境のインスタンスにsshで入ってrhc setupします。

ここでInstalling OpenShift Origin using Vagrant and Puppet(公式ドキュメント)とログが異なることに気付きました。公式ドキュメントではrhc setupの最後にカートリッジの一覧が表示されるようですが何も表示されませんでした。念のため次のコマンドでカートリッジ一覧を表示してみます。

[html]
[vagrant@broker ~]$ rhc cartridge list
Note: Web cartridges can only be added to new applications.
[/html]

ん?「カートリッジは追加することができる」?…はぁ、無いってことで良いのかな?無いから追加しろという意味なのでしょうね。あ、ちなみにカートリッジはアプリの雛形みたいなものです。Node.jsの雛形、PHPの雛形みたいな感覚です。では、とりあえずNode.jsのカートリッジを追加してみようと調べていたら以下のように外部カートリッジを指定できる模様

[html]
[vagrant@broker ~]$ rhc create-app testnodejs "http://cartreflect-claytondev.rhcloud.com/reflect?github=Filirom1/openshift-cartridge-nodejs&commit=master"
[/html]

しかし、OSSのPaaSをこんな風にいじっているとフロントエンドのWebサイトを用意すれば簡単に自前のプラットフォームを作ってサービス提供できるような気がしてきます。それでも実際はアレコレ難しいのでしょうけど特に最近はVagrantやPuppet、若しくはChefなどの追い風もあり益々妄想だけ膨らんでしまう今日この頃です。