LoginSignup
3

More than 5 years have passed since last update.

続・PCF Devを使ってCloud Foundryローカル環境を作ってみた

Posted at

以前こんな記事を書いたのですが

PCF Devを使ってCloud Foundryローカル環境を作ってみた

@making氏からすでにVagrantでのインスタンス作成は古い、と言われてしまったので(うだうだしていた間に新しい記事が投稿されてしまった模様)、新しいバージョンでの実施も試してみます。

インストールから起動まで

(前提としてCloud Foundryはすでにインストールされているものとします。)
こちらの記事を参考にインストールします。

v0.16.0からcfコマンドでインストールが可能になったらしい。

$ cf install-plugin ./pcfdev-v0.17.0+PCF1.7.0-osx

(pcfdev-v0.17.0+PCF1.7.0-osxのファイルはこうやってインストールするのか、、、と今更理解。)
で、スタートしてみる。

$cf dev start

すでに旧バージョンで動かしていると、VMが残っている、と言われるので削除が必要なようです。

FAILED
Error: old version of PCF Dev already running, please run `cf dev destroy` to continue.

自分の場合は0.14ですでに動かしたことがあったので、v0.14内で"destroy-osx"を実行しました。

気を取り直して起動してみます。APIキーはPivotal Networkのプロフィール画面から確認ができます。(事前にPivotal Networkに登録が必要です。)

$ cf dev start
Please retrieve your Pivotal Network API from:
https://network.pivotal.io/users/dashboard/edit-profile

API token> 

ここのAPI tokenは入力がマスク(非表示)されており、また入力後はしばらく待ってからEULAが表示されるようになっています。ここで焦って何か入力すると、次に表示されるEULAへの承認入力で変な値が入ってしまうので要注意。

で、無事起動しました。

$ cf dev start
Downloading VM...
Progress: |+>                   | 3%


Progress: |+===================>| 100%
VM downloaded
Allocating 4096 MB out of 16384 MB total system memory (6074 MB free).
Importing VM...
Starting VM...
Provisioning VM...
Waiting for services to start...
9 out of 50 running
50 out of 50 running
 _______  _______  _______    ______   _______  __   __
|       ||       ||       |  |      | |       ||  | |  |
|    _  ||       ||    ___|  |  _    ||    ___||  |_|  |
|   |_| ||       ||   |___   | | |   ||   |___ |       |
|    ___||      _||    ___|  | |_|   ||    ___||       |
|   |    |     |_ |   |      |       ||   |___  |     |
|___|    |_______||___|      |______| |_______|  |___|
is now running.
To begin using PCF Dev, please run:
    cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass

ログインしてみます。

$ cf login -a https://api.local.pcfdev.io --skip-ssl-validation
API エンドポイント: https://api.local.pcfdev.io

Email> admin

Password> 
認証中です...
OK

組織を選択します (または Enter キーを押してスキップします):
1. pcfdev-org
2. system

Org> 1
組織 pcfdev-org をターゲットにしました

スペース pcfdev-space をターゲットにしました



API エンドポイント:   https://api.local.pcfdev.io (API バージョン: 2.54.0)
ユーザー:             admin
組織:                 pcfdev-org
スペース:             pcfdev-space

無事ログインできました。今回はpcfdev-orgを選びましたが、ここ地味に今までと違うように見えます。systemを選択すると何か変わるのだろうか、また別途調べてみようと思います。

アプリをPushしてみる

前回同様hello-cfアプリをPushしてみます。

$ mvn clean package
  :
  :
$ cf push hello-cf -p target/hello-cf-0.0.1-SNAPSHOT.jar
admin としてアプリ hello-cf を組織 pcfdev-org / スペース pcfdev-space 内に作成しています...
OK

経路 hello-cf.local.pcfdev.io を使用しています
hello-cf.local.pcfdev.io を hello-cf にバインドしています...
OK

hello-cf をアップロードしています...
次のパスからアプリ・ファイルをアップロードしています: /var/folders/f2/dn55vt054w5djx70_r7nq1sr0000gn/T/unzipped-app277539627
492.5K、89 個のファイルをアップロードしています
Done uploading               
OK


admin として組織 pcfdev-org / スペース pcfdev-space 内のアプリ hello-cf を開始しています...
Downloading binary_buildpack...
Downloading nodejs_buildpack...
Downloading go_buildpack...
Downloading python_buildpack...
Downloading staticfile_buildpack...
Downloading java_buildpack...
Downloading ruby_buildpack...
Downloading php_buildpack...
Downloaded java_buildpack
Downloaded go_buildpack
Downloaded ruby_buildpack
Downloaded staticfile_buildpack
Downloaded binary_buildpack (8.3K)
Downloaded python_buildpack (254.1M)
Downloaded nodejs_buildpack (60.7M)
Downloaded php_buildpack (262.3M)
Creating container
Successfully created container
Downloading app package...
Downloaded app package (11.8M)
Staging...
-----> Java Buildpack Version: v3.6 (offline) | https://github.com/cloudfoundry/java-buildpack.git#5194155
-----> Downloading Open Jdk JRE 1.8.0_71 from https://download.run.pivotal.io/openjdk/trusty/x86_64/openjdk-1.8.0_71.tar.gz (found in cache)
       Expanding Open Jdk JRE to .java-buildpack/open_jdk_jre (2.3s)
-----> Downloading Open JDK Like Memory Calculator 2.0.1_RELEASE from https://download.run.pivotal.io/memory-calculator/trusty/x86_64/memory-calculator-2.0.1_RELEASE.tar.gz (found in cache)
       Memory Settings: -Xmx160M -XX:MaxMetaspaceSize=64M -Xss853K -Xms160M -XX:MetaspaceSize=64M
-----> Downloading Spring Auto Reconfiguration 1.10.0_RELEASE from https://download.run.pivotal.io/auto-reconfiguration/auto-reconfiguration-1.10.0_RELEASE.jar (found in cache)
Exit status 0
Staging complete
Uploading droplet, build artifacts cache...
Uploading build artifacts cache...
Uploading droplet...
Uploaded build artifacts cache (109B)
Uploaded droplet (56.7M)
Uploading complete

1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 0 個のインスタンスが実行中です, 1 個が開始中です
1 個の中の 1 個のインスタンスが実行中です

アプリが開始されました


OK

アプリ hello-cf はこのコマンド `CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-2.0.1_RELEASE -memorySizes=metaspace:64m.. -memoryWeights=heap:75,metaspace:10,native:10,stack:5 -memoryInitials=heap:100%,metaspace:100% -totMemory=$MEMORY_LIMIT) && JAVA_OPTS="-Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh $CALCULATED_MEMORY" && SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/.:$PWD/.java-buildpack/spring_auto_reconfiguration/spring_auto_reconfiguration-1.10.0_RELEASE.jar org.springframework.boot.loader.JarLauncher` を使用して開始されました

admin として組織 pcfdev-org / スペース pcfdev-space 内のアプリ hello-cf の正常性と状況を表示しています...
OK

要求された状態: started
インスタンス: 1/1
使用法: 256M x 1 インスタンス
URL: hello-cf.local.pcfdev.io
最後アップロード日時: Sun Jul 24 17:26:31 UTC 2016
スタック: unknown
ビルドパック: java-buildpack=v3.6-offline-https://github.com/cloudfoundry/java-buildpack.git#5194155 java-main open-jdk-like-jre=1.8.0_71 open-jdk-like-memory-calculator=2.0.1_RELEASE spring-auto-reconfiguration=1.10.0_RELEASE

     状態   次の日時から             CPU    メモリー             ディスク             詳細
#0   実行   2016-07-25 02:28:13 AM   0.0%   256M の中の 126.9M   512M の中の 135.4M

うまく実行されたようです。

アクセスしてみる

$ cf a
admin として組織 pcfdev-org / スペース pcfdev-space 内のアプリを取得しています...
OK

名前       要求された状態   インスタンス   メモリー   ディスク   URL
hello-cf   started          1/1            256M       512M       hello-cf.local.pcfdev.io

URLもこれでわかるので、アクセスしてみます。

$ curl http://hello-cf.local.pcfdev.io
Hello World!

無事起動したようです。

Webコンソールで確認

このバージョンからWebコンソールも利用できるようになっているとのことなので、アクセスしてみます。https://console.local.pcfdev.io/2/ でアクセスができるようになっています。

スクリーンショット 2016-07-25 2.33.53.png
うーん、かっこいい。

スクリーンショット 2016-07-25 2.34.38.png
確かコマンドでできることはWebコンソールからでもできたと思うので、スケールアップなどもこちらから試してみたいですね。

スクリーンショット 2016-07-25 2.35.49.png

まとめ

前回に続きまずは基本的な流れを試してみましたが、せっかくスケールアップなどのコマンドも用意しているので、それらを使って実際にスケールアップ/ダウンさせるなど、いろいろ試してみたいと思います。

ログインできなくなったら

cf dev startでVMのインスタンスや初期設定が終わった後にネットワークの接続を切り替えたりすると以下のようなメッセージが表示されてログインできなくなることがあります。

$ cf login -a https://api.local.pcfdev.io --skip-ssl-validation
API エンドポイント: https://api.local.pcfdev.io
失敗
要求の実行時にエラーが発生しました: Get https://api.local.pcfdev.io/v2/info: dial tcp 192.168.11.11:443: connect: host is down
ヒント: ファイアウォールに守られている側でHTTPプロキシが必要な場合、https_proxy環境変数が正確に設定されていることを確認してください。その他、ネットワーク接続を確認してください。

自分の場合は以下を実施することで直りました。

  1. cf dev destroyでVMインスタンスの破棄
  2. VirtualBoxの設定で今回利用されているvboxnetX(Xは数字)を削除
  3. cf dev startで再度初期化から実施

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3