月別アーカイブ: 2014年10月

BOSH LiteでCloud Foundryをインストールする(3)

BOSH LiteはVagrnat boxにWardenコンテナを使ったBOSHのローカル開発環境です。BOSH Liteを使って、Vagrant boxにCloud Foundry実行環境を構築できます。手元のMacBook AirにBOSH Liteを使い、Cloud Foundryを構築します。これはBOSH LiteでCloud Foundryをインストールする(2)の続きです。

BOSH Liteを使いデプロイしたCloud Foundryを設定し、アプリケーションをアップロードします。

準備
Goインストール

Cloud Foundry CLIがGoでできているため、まずはGoをインストールします。http://golang.org/からGoのディストリビューションをダウンロードし、インストールします。最新は1.3でしたが、念のため1.2をインストールしました。

$ go version
$ go version go1.2 darwin/amd64

Go環境を設定します。

$ mkdir -p ~/go
$ export GOPATH=~/go

Cloud Foundry CLIインストール

http://github.com/cloudfoundry/cli
のDownloads下にある、Stable InstallersのMac OS X 64 bitをクリックして、ダウンロードし、インストールします。

以上で準備が終わりました。

Cloud Foundry設定

Cloud Foundryを設定します。

$ cf api --skip-ssl-validation https://api.10.244.0.34.xip.io
$ cf auth admin admin
$ cf create-org me
$ cf target -o me
$ cf create-space development
$ cf target -s development

アプリケーションのアップロード

cf-acceptance-testsにサンプルアプリケーションhello-worldが含まれているので、それをアップロードすることにします。アップロードするアプリケーションを取得します。

$ go get github.com/cloudfoundry/cf-acceptance-tests
$ cd $GOPATH/src/github.com/cloudfoundry/cf-acceptance-tests

.godirファイルがないとアップロードに失敗するため、空ファイルを作成します。

$ cd assets/hello-world
$ touch .godir

アップロードします。

$ cf push hello-world

hello-worldが返ってくることを確認します。

$ curl hello-world.10.244.0.34.xip.io
hello, world!

以上で、BOSH Liteをインストールし、Cloud Foundryをデプロイ、アプリケーションをアップロードできました。

BOSH LiteでCloud Foundryをインストールする(2)

BOSH LiteはVagrnat boxにWardenコンテナを使ったBOSHのローカル開発環境です。BOSH Liteを使って、Vagrant boxにCloud Foundry実行環境を構築できます。手元のMacBook AirにBOSH Liteを使い、Cloud Foundryを構築します。これはBOSH LiteでCloud Foundryをインストールする(1)の続きです。

BOSH Liteを使い、Cloud Foundryをデプロイします。シェルスクリプトで多くが自動化されているようですが、ここでは後学のため手順を追ってデプロイします。

準備

Spiffをインストール

$ brew tap xoebus/homebrew-cloudfoundry
$ brew install spiff
$ spiff -v
spiff version 1.0.3

cf-releaseをクローン

$ cd ~/workspace
$ git clone https://github.com/cloudfoundry/cf-release

これでデプロイする準備ができたので、デプロイします。

releaseのアップロード

releaseはBOSHがソフトウェアをデプロイするのに必要なパッケージやソースコード、設定ファイルの集まりで、ymlファイルで定義されています。一番新しいリリースをアップロードします。cf-release下にあるcf-<version>.ymlでversionが一番大きいものを確認します。今回は189でしたので、cf-189をアップロードします。

$ cd ~/workspace/cf-release
$ bosh upload release releases/cf-189.yml

Warden stemcellのアップロード

stemcellはBOSHがクローンして設定するVMのテンプレートです。BOSH LiteはWarden CPIを使うので、Warden Stemcell をダウンロードします。まず、公式にあるstemcellを確認してダウンロードします。

$ bosh public stemcells
+-----------------------------------------------------------------+
| Name                                                            |
+-----------------------------------------------------------------+
| ....                                                            |
| bosh-stemcell-370-warden-boshlite-ubuntu-trusty-go_agent.tgz    |
| bosh-stemcell-53-warden-boshlite-ubuntu.tgz                     |
| bosh-stemcell-370-warden-boshlite-centos-go_agent.tgz           |
| bosh-stemcell-64-warden-boshlite-ubuntu-lucid-go_agent.tgz      |
+-----------------------------------------------------------------+
$ bosh download public stemcell bosh-stemcell-370-warden-boshlite-ubuntu-trusty-go_agent.tgz

ダウンロードしたWarden Stemcellをアップロードします。

$ bosh upload stemcell bosh-stemcell-370-warden-boshlite-ubuntu-trusty-go_agent.tgz

manifest作成

manifestはreleaseとstemcellをどうデプロイするかを定義した設定ファイルです。spiffを使ってmanifestを作成します。

$ cd ~/workspace/bosh-lite
$ ./bin/make_manifest_spiff

manifests/cf-manifest.ymlが作成されます。作成したmanifestを使い、デプロイします。

$ bosh deployment manifests/cf-manifest.yml
$ bosh deploy

以上で、デプロイは終了です。

BOSH LiteでCloud Foundryをインストールする(1)

BOSH LiteはVagrnat boxにWardenコンテナを使ったBOSHのローカル開発環境です。BOSH Liteを使って、Vagrant boxにCloud Foundry実行環境を構築できます。手元のMacBook AirにBOSH Liteを使い、Cloud Foundryを構築します。MacBook Airの詳細なスペックは以下の通りです。

  • 11-inch, Mid 2012
  • プロセッサ 2GHz Intel Core i7
  • メモリ 8GB 1600 MHz DDR3
  • OS X 10.9.5

ここではVagrant providerはVirtualboxとします。GitHubにはVMware Fusion、AWSの手順も記載があります。

前提

以下のソフトウェアはインストール済みとします。

  • git
  • ruby
  • VirtualBox
  • Vagrant

手元のバージョンは以下の通りでした。

$ git --version
git version 1.8.5.2 (Apple Git-48)
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]

なお、rubyはrbenvでインストールしました。

$ VBoxManage --version
4.3.16r95972
$ vagrant --version
Vagrant 1.6.5

また、MacBookはプロキシなしでインターネットにアクセスできます。

BOSH Liteインストール

bosh_cliをインストール

BOSHのクライアントをインストールします。

$ gem install bosh_cli
$ rbenv rehash
$ bosh -v
BOSH 1.2739.0

bosh-liteをクローン

BOSHは~/workspaceにインストールする慣習があるようなので、~/workspaceにクローンします。

$ mkdir ~/workspace
$ cd ~/workspace
$ git clone https://github.com/cloudfoundry/bosh-lite.git

Vagrant boxをupします。

$ cd bosh-lite
$ vagrant up --provider=virtualbox

BOSH Directorをtargetして、admin/adminでログインします。ここの192.168.50.4はVMに自動で割りあたるアドレスです。

$ bosh target 192.168.50.4 lite
$ bosh login

ローカルのルートテーブルにルートエントリセットを追加します。

$ bin/add-route

以上でBOSH Liteのインストールは終了です。