SlideShare a Scribd company logo
microPCF を使ってみよう
宇梶弘晃 @ hiroakiukaji
NTT Lab.
Software Innovation Center
2016/02/10
About Me
名前: Hiroaki Ukaji
仕事: Cloud Foundry
皆さんに2つ質問です
Cloud Foundryを使ったことがある人?
Cloud Foundryを自分で動かしたことがある人?
私の予想
Cloud Foundryを・・・
※PaaS勉強会に限る
使ったことがある 動かしたことがある
60% 10%
比率の正解/不正解はともかく
Cloud Foundry を動かしてみたことがある人は少ない・・・
∵ Cloud Foundryを動かすのは大変!
そう言えば・・・
Cloud Foundryってどうやって動かすんだろう?
そもそも Cloud Foundry とは
= アプリを投げ込むとよしなに動かしてくれるCloud Foundry
(PaaS)
PaaS
source code
そもそも Cloud Foundry とは
別に謎システムが動いていわけではなく
アプリを自動で動かすのに必要なものがいるだけ
DEA
アプリを動かす人
Cloud
Controller
APIを提供する人
Router
アクセスを割り振る人
Health
Manager
状態監視をする人
UAA
認証を管理する人
Loggregator
ログを集める人
Cloud Foundry の動かし方
つまりこいつらを上手く動かせれば良い・・・けど
※注: 実はもっといます
Cloud Foundry の動かし方
Cloud Foundry の完全自力運用はとてもつらい(らしい)
増えゆくサーバ
あのコンポーネントは・・・どこ?
バージョン管理めんどい・・・
Cloud Foundry の動かし方
Cloud Foundry の完全自力運用はとてもつらい(らしい)
増えるサーバ
あのコンポーネントどこ?
バージョン管理めんどい・・・
分散システムの構成管理を一元化したい
BOSH
分散システム構成管理ツール
(元々はCloud Foundry構築専用)
・構成の一元管理
・VM の Lifecycle 管理
・バージョン管理
・etc…
全体構成も管理してくれる・・・
バージョンも管理してくれる・・・
これで Cloud Foundry動かせる!
しかし・・・
BOSHは便利だが得てして学習コストが高い
※あくまで「便利なツール」という前提の上での話です
じゃぁ・・・
Q. せっかくの OSS PaaS なのに Cloud Foundry を
試すことはできないの?
じゃぁ・・・
Q. せっかくの OSS PaaS なのに Cloud Foundry を
試すことはできないの?A. いいえ、そんなことはありません。
Cloud Foundry All-in-One
Cloud Foundry を 1VM で簡単に動かせるツール
bosh-lite cf_nise_installer
手軽に
1VMで
Cloud Foundry を動かすためのツール
本日の目標
昨年末に新しく発表された All-in-One Cloud Foundry
“microPCF”
を使えるようになる
microPCF とは?
microPCFとは?
2015年12月に Pivotal 社が発表した
All-in-One Cloud Foundry 構築ツール
microPCFとは?
2015年12月に Pivotal 社が発表した
All-in-One Cloud Foundry 構築ツール
最新バージョン = v0.5.0 (※まだ Pre-release)
v0.1.1 First pre-release
v0.2.0 cf v226 対応
v0.3.0 footprint削減
v0.4.0 box size 8GB → 5.5GB
v0.4.1 NW周りの機能拡張 box size 5.5GB → 3.5GB
v0.5.0 cf v228 対応
microPCFとは?
“simplest” と言うからにはよほどシンプルのはず
動かしてみましょう
必要な環境
 Vagrant 1.7+
• VirtualBox 5.0+
• VMWare Fusion 8+
• VMWare Workstation 11+
 Internet connection
 Cloud Foundry CLI
+
イメージ
Your Laptop
Vagrant
VirtualBox
cf CLI
イメージ
Your Laptop
Vagrant
VirtualBox
cf CLI
CF in Ubuntu VMup
イメージ
Your Laptop
Vagrant
VirtualBox
cf CLI
CF in Ubuntu VM
deploy
microPCF(v0.5.0) のインストール手順
$ wget https://github.com/pivotal-cf/micropcf/releases/download/
v0.5.0/Vagrantfile-v0.5.0.base
$ mv Vagrantfile-v0.5.0.base Vagrantfile
$ vagrant up
まずは Vagrantfile を Download してきて
$ vagrant up
microPCF(v0.5.0) のインストール手順
$ wget https://github.com/pivotal-cf/micropcf/releases/download/
v0.5.0/Vagrantfile-v0.5.0.base
$ mv Vagrantfile-v0.5.0.base Vagrantfile
$ vagrant up
あとは待つだけ!
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'micropcf/base' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: 0.34.0
==> default: Loading metadata for box 'micropcf/base'
default: URL: https://atlas.hashicorp.com/micropcf/base
==> default: Adding box 'micropcf/base' (v0.34.0) for provider: virtualbox
default: Downloading: https://atlas.hashicorp.com/micropcf/boxes/base/versions/0.34.0/providers/virtualbox.box
==> default: Successfully added box 'micropcf/base' (v0.34.0) for 'virtualbox'!
==> default: Importing base box 'micropcf/base'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'micropcf/base' is up to date...
==> default: Setting the name of the VM: workspace_default_1454490175496_52031
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Running provisioner: shell...
default: Running: inline script
==> default: stdin: is not a tty
==> default: Waiting for services to start...
==> default: MicroPCF is now running.
==> default: To begin using MicroPCF, please run:
==> default: cf api api.local.micropcf.io --skip-ssl-validation
==> default: cf login
==> default: Email: admin
==> default: Password: admin
※初回は vagrant box (3.5GB) を DL するので
時間がかかる・・・
2回目以降は2〜3分で起動します。
しばらく待つと・・・
Ubuntu の VM が起動
※ちゃんとsnapshotも撮っておきましょう
API を target
$ cf api api.local.micropcf.io --skip-ssl-validation
Setting api endpoint to api.local.micropcf.io...
OK
API endpoint: https://api.local.micropcf.io (API version: 2.47.0)
Not logged in. Use 'cf login' to log in.
API の 向き先を決めてから・・・
Login
$ cf login
API endpoint: https://api.local.micropcf.io
Email> admin
Password> admin
Authenticating...
OK
user: admin password: admin
でログイン
完了!
$ cf apps
Getting apps in org micropcf-org / space micropcf-space as admin...
OK
No apps found
以上で環境構築は終わりです
実際に使ってみましょう
← まだ何も deploy していないのでアプリは 0 個
簡単なアプリをデプロイ
$ tree
.
├── index.html
└── manifest.yml
0 directories, 2 files
試しに簡単なアプリをデプロイをしてみましょう
※要はただの
“Hello World” in HTML
なアプリです
簡単なアプリをデプロイ
<!DOCTYPE html>
<html>
<body>
Hello, microPCF!!!
</body>
</html>
試しに簡単なアプリをデプロイをしてみましょう
index.html
---
applications:
- name: hello-staticfile
buildpack: staticfile_buildpack
manifest.yml
簡単なアプリをデプロイ
$ cf push
$ cf push でデプロイ
$ cf push
(一部略)
Starting app hello-staticfile in org micropcf-org / space micropcf-space as admin...
Downloading staticfile_buildpack...
Downloaded staticfile_buildpack (2.4M)
Creating container
Successfully created container
Downloading app package...
Downloaded app package (250B)
Staging...
-------> Buildpack version 1.3.0
Downloaded [file:///tmp/buildpacks/c0c5c5b5e08bd4e125c760d54f11e0ea/dependencies/https___pivotal-buildpacks.s3.amazonaws.com_concourse-binaries_nginx_nginx-1.9.9-
linux-x64.tgz]
grep: Staticfile: No such file or directory
-----> Using root folder
-----> Copying project files into public/
-----> Setting up nginx
grep: Staticfile: No such file or directory
Exit status 0
Staging complete
Uploading droplet, build artifacts cache...
Uploading droplet...
Uploading build artifacts cache...
Uploaded build artifacts cache (128B)
Uploaded droplet (2.4M)
Uploading complete
1 of 1 instances running
App started
OK
App hello-staticfile was started using this command `sh boot.sh`
Showing health and status for app hello-staticfile in org micropcf-org / space micropcf-space as admin...
OK
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: hello-staticfile.local.micropcf.io
last uploaded: Wed Feb 3 09:42:16 UTC 2016
stack: cflinuxfs2
buildpack: staticfile_buildpack
state since cpu memory disk details
#0 running 2016-02-03 06:42:27 PM 0.0% 0 of 1G 0 of 1G
$ cf push
(一部略)
Starting app hello-staticfile in org micropcf-org / space micropcf-space as admin...
Downloading staticfile_buildpack...
Downloaded staticfile_buildpack (2.4M)
Creating container
Successfully created container
Downloading app package...
Downloaded app package (250B)
Staging...
-------> Buildpack version 1.3.0
Downloaded [file:///tmp/buildpacks/c0c5c5b5e08bd4e125c760d54f11e0ea/dependencies/https___pivotal-buildpacks.s3.amazonaws.com_concourse-binaries_nginx_nginx-1.9.9-
linux-x64.tgz]
grep: Staticfile: No such file or directory
-----> Using root folder
-----> Copying project files into public/
-----> Setting up nginx
grep: Staticfile: No such file or directory
Exit status 0
Staging complete
Uploading droplet, build artifacts cache...
Uploading droplet...
Uploading build artifacts cache...
Uploaded build artifacts cache (128B)
Uploaded droplet (2.4M)
Uploading complete
1 of 1 instances running
App started
OK
App hello-staticfile was started using this command `sh boot.sh`
Showing health and status for app hello-staticfile in org micropcf-org / space micropcf-space as admin...
OK
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: hello-staticfile.local.micropcf.io
last uploaded: Wed Feb 3 09:42:16 UTC 2016
stack: cflinuxfs2
buildpack: staticfile_buildpack
state since cpu memory disk details
#0 running 2016-02-03 06:42:27 PM 0.0% 0 of 1G 0 of 1G ※約20秒
アプリを
自動的に
動かして・・・
URLを発行
簡単なアプリをデプロイ
アプリが動きました!
http://hello-staticfile.local.micropcf.io/
ここまでのおさらい
1. Vagrantfile のダウンロード
2. $ vagrant up の実行
3. ログイン
の 3 step で Cloud Foundry のお試し環境を作れました
他の All-in-One Cloud Foundry との比較
他のAll-in-One Cloud Foundry との比較
bosh-lite VS cf_nise_installer VS microPCF
VMWare
2013/08
yudai
2014/04
Pivotal
2015/12
bosh-lite VS cf_nise_installer VS microPCF
bosh-lite cf_nise_installer microPCF
手順
多い
(20step/2h)
少ない
(3step/1h)
少ない
(3step/30min)
構成
複数コンテナで
擬似分散構成
プロセス全部入り プロセス全部入り
cf の version 自由に選択可能
v161 〜 v211
(自身のverに紐付く)
v226 〜 v228
(自身のverに紐付く)
リソース
RAM: 8GB
(公式Doc推奨値)
RAM: 2GB
(公式Doc推奨値)
RAM: 1.5GB
(測定値)
bosh-lite VS cf_nise_installer VS microPCF
bosh-lite cf_nise_installer microPCF
手順
多い
(20step/2h)
少ない
(3step/1h)
少ない
(3step/30min)
構成
複数コンテナで
擬似分散構成
プロセス全部入り プロセス全部入り
cf の version 自由に選択可能
v161 〜 v211
(自身のverに紐付く)
v226 〜 v228
(自身のverに紐付く)
リソース
RAM: 8GB
(公式Doc推奨値)
RAM: 2GB
(公式Doc推奨値)
RAM: 1.5GB
(測定値)
かかる手間は bosh-lite > cf_nise_installer ≧ microPCF
bosh-lite VS cf_nise_installer VS microPCF
bosh-lite cf_nise_installer microPCF
手順
多い
(20step/2h)
少ない
(3step/1h)
少ない
(3step/30min)
構成
複数コンテナで
擬似分散構成
プロセス全部入り プロセス全部入り
cf の version 自由に選択可能
v161 〜 v211
(自身のverに紐付く)
v226 〜 v228
(自身のverに紐付く)
リソース
RAM: 8GB
(公式Doc推奨値)
RAM: 2GB
(公式Doc推奨値)
RAM: 1.5GB
(測定値)
作りは
bosh-lite
cf_nise_installer, microPCF
擬似分散構成
1VMに集約
→
→
bosh-lite VS cf_nise_installer VS microPCF
bosh-lite cf_nise_installer microPCF
手順
多い
(20step/2h)
少ない
(3step/1h)
少ない
(3step/30min)
構成
複数コンテナで
擬似分散構成
プロセス全部入り プロセス全部入り
cf の version 自由に選択可能
v161 〜 v211
(自身のverに紐付く)
v226 〜 v228
(自身のverに紐付く)
リソース
RAM: 8GB
(公式Doc推奨値)
RAM: 2GB
(公式Doc推奨値)
RAM: 1.5GB
(測定値)
release選択の自由は
bosh-lite
cf_nise_installer, microPCF
自由
制約あり
→
→
bosh-lite VS cf_nise_installer VS microPCF
bosh-lite cf_nise_installer microPCF
手順
多い
(20step/2h)
少ない
(3step/1h)
少ない
(3step/30min)
構成
複数コンテナで
擬似分散構成
プロセス全部入り プロセス全部入り
cf の version 自由に選択可能
v161 〜 v211
(自身のverに紐付く)
v226 〜 v228
(自身のverに紐付く)
リソース
RAM: 8GB
(公式Doc推奨値)
RAM: 2GB
(公式Doc推奨値)
RAM: 1.5GB
(測定値)
必要メモリは bosh-lite > cf_nise_installer ≧ microPCF
(?)
まとめ
 Cloud Foundryをお試し運用するなら
All-in-One がおすすめ
 新ツール microPCF は
・簡単な手順で
・少ないリソースで
Cloud Foundryをお試し運用できる
参考
本発表資料作成時の参考資料です
是非併せて御覧下さい
自前 CF 環境を整えようyet another all-in-one Cloud Foundry
BOSH-lite で 1VM Cloud Foundry

More Related Content

PDF
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
PDF
コンテナ時代だからこそ要注目! Cloud Foundry
PPTX
(続) はじめてのCloud Foundry
PDF
VagrantユーザのためのDocker入門
PDF
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
PDF
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
PDF
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
PDF
ECS-CLI in Action
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
コンテナ時代だからこそ要注目! Cloud Foundry
(続) はじめてのCloud Foundry
VagrantユーザのためのDocker入門
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
ECS-CLI in Action

What's hot (20)

PDF
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
PDF
ProjectAtomic-and-geard
PDF
Reading NATS
PDF
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
PDF
Cloud Foundry V2を、もうちょっと深掘りしよう
PPTX
IBM Log Analysis with LogDNAを評価した話
PPTX
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
PDF
【dots. IT勉強会】開発環境のDocker化
PDF
Cloud Foundryで学ぶ、PaaSのしくみ講座
PDF
Docker PaaSとしての OpenShift, Deis, Flynn比較
PPTX
Appsody でnodejsのアプリを立ち上げよう!
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
PPTX
Docker & Kubernetes基礎
PDF
すごいBOSHたのしく学ぼう
PDF
PDF
ビルドサーバで使うDocker
PDF
GKEで半年運用してみた
PDF
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
PPTX
開発環境をVagrantからdockerに移行してみた
PDF
Cloud Foundryは何故動くのか
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
ProjectAtomic-and-geard
Reading NATS
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Cloud Foundry V2を、もうちょっと深掘りしよう
IBM Log Analysis with LogDNAを評価した話
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
【dots. IT勉強会】開発環境のDocker化
Cloud Foundryで学ぶ、PaaSのしくみ講座
Docker PaaSとしての OpenShift, Deis, Flynn比較
Appsody でnodejsのアプリを立ち上げよう!
はてなにおける継続的デプロイメントの現状と Docker の導入
Docker & Kubernetes基礎
すごいBOSHたのしく学ぼう
ビルドサーバで使うDocker
GKEで半年運用してみた
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
開発環境をVagrantからdockerに移行してみた
Cloud Foundryは何故動くのか
Ad

Similar to microPCFを使ってみよう (20)

PPTX
Myfirst cloudfoundry intro_20161201
PDF
BOSHでお手軽CFデプロイon AWS
PPTX
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
PDF
Hbstudy41 auto scaling
PDF
Fabricによるcloud stackインストール自動化
PDF
Siriproxy - Talk to Cloudfoundry
KEY
Fabricでサーバー管理をDRYにしよう
PDF
yet another all-in-one cloudfoundry
PDF
Cloud Foundry Cli Plugin入門
PDF
Cloud Foundry: Open Platform as a Service
PDF
自前CF環境を整えよう 2013年11月版
KEY
CloudFoundryをつかってみよう
PPTX
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
PPTX
Idcfクラウドで始める構築自動化
PDF
DevStackで始めるCloud FoundryとBOSH
PPTX
ラズパイ2で動く Docker PaaSを作ってみたよ
PPTX
Cloud Foundryの件について@OpenStack Days Tokyo 2015
PDF
Cloud Foundry構成概要 111018
PDF
捕鯨!詳解docker
PDF
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Myfirst cloudfoundry intro_20161201
BOSHでお手軽CFデプロイon AWS
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Hbstudy41 auto scaling
Fabricによるcloud stackインストール自動化
Siriproxy - Talk to Cloudfoundry
Fabricでサーバー管理をDRYにしよう
yet another all-in-one cloudfoundry
Cloud Foundry Cli Plugin入門
Cloud Foundry: Open Platform as a Service
自前CF環境を整えよう 2013年11月版
CloudFoundryをつかってみよう
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
Idcfクラウドで始める構築自動化
DevStackで始めるCloud FoundryとBOSH
ラズパイ2で動く Docker PaaSを作ってみたよ
Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundry構成概要 111018
捕鯨!詳解docker
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Ad

microPCFを使ってみよう

  • 1. microPCF を使ってみよう 宇梶弘晃 @ hiroakiukaji NTT Lab. Software Innovation Center 2016/02/10
  • 2. About Me 名前: Hiroaki Ukaji 仕事: Cloud Foundry
  • 9. そもそも Cloud Foundry とは = アプリを投げ込むとよしなに動かしてくれるCloud Foundry (PaaS) PaaS source code
  • 10. そもそも Cloud Foundry とは 別に謎システムが動いていわけではなく アプリを自動で動かすのに必要なものがいるだけ DEA アプリを動かす人 Cloud Controller APIを提供する人 Router アクセスを割り振る人 Health Manager 状態監視をする人 UAA 認証を管理する人 Loggregator ログを集める人
  • 12. Cloud Foundry の動かし方 Cloud Foundry の完全自力運用はとてもつらい(らしい) 増えゆくサーバ あのコンポーネントは・・・どこ? バージョン管理めんどい・・・
  • 13. Cloud Foundry の動かし方 Cloud Foundry の完全自力運用はとてもつらい(らしい) 増えるサーバ あのコンポーネントどこ? バージョン管理めんどい・・・ 分散システムの構成管理を一元化したい
  • 14. BOSH 分散システム構成管理ツール (元々はCloud Foundry構築専用) ・構成の一元管理 ・VM の Lifecycle 管理 ・バージョン管理 ・etc… 全体構成も管理してくれる・・・ バージョンも管理してくれる・・・ これで Cloud Foundry動かせる!
  • 16. じゃぁ・・・ Q. せっかくの OSS PaaS なのに Cloud Foundry を 試すことはできないの?
  • 17. じゃぁ・・・ Q. せっかくの OSS PaaS なのに Cloud Foundry を 試すことはできないの?A. いいえ、そんなことはありません。
  • 18. Cloud Foundry All-in-One Cloud Foundry を 1VM で簡単に動かせるツール bosh-lite cf_nise_installer 手軽に 1VMで Cloud Foundry を動かすためのツール
  • 19. 本日の目標 昨年末に新しく発表された All-in-One Cloud Foundry “microPCF” を使えるようになる
  • 22. microPCFとは? 2015年12月に Pivotal 社が発表した All-in-One Cloud Foundry 構築ツール 最新バージョン = v0.5.0 (※まだ Pre-release) v0.1.1 First pre-release v0.2.0 cf v226 対応 v0.3.0 footprint削減 v0.4.0 box size 8GB → 5.5GB v0.4.1 NW周りの機能拡張 box size 5.5GB → 3.5GB v0.5.0 cf v228 対応
  • 25. 必要な環境  Vagrant 1.7+ • VirtualBox 5.0+ • VMWare Fusion 8+ • VMWare Workstation 11+  Internet connection  Cloud Foundry CLI +
  • 29. microPCF(v0.5.0) のインストール手順 $ wget https://github.com/pivotal-cf/micropcf/releases/download/ v0.5.0/Vagrantfile-v0.5.0.base $ mv Vagrantfile-v0.5.0.base Vagrantfile $ vagrant up まずは Vagrantfile を Download してきて $ vagrant up
  • 30. microPCF(v0.5.0) のインストール手順 $ wget https://github.com/pivotal-cf/micropcf/releases/download/ v0.5.0/Vagrantfile-v0.5.0.base $ mv Vagrantfile-v0.5.0.base Vagrantfile $ vagrant up あとは待つだけ!
  • 31. $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'micropcf/base' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: 0.34.0 ==> default: Loading metadata for box 'micropcf/base' default: URL: https://atlas.hashicorp.com/micropcf/base ==> default: Adding box 'micropcf/base' (v0.34.0) for provider: virtualbox default: Downloading: https://atlas.hashicorp.com/micropcf/boxes/base/versions/0.34.0/providers/virtualbox.box ==> default: Successfully added box 'micropcf/base' (v0.34.0) for 'virtualbox'! ==> default: Importing base box 'micropcf/base'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'micropcf/base' is up to date... ==> default: Setting the name of the VM: workspace_default_1454490175496_52031 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... ==> default: Configuring and enabling network interfaces... ==> default: Running provisioner: shell... default: Running: inline script ==> default: stdin: is not a tty ==> default: Waiting for services to start... ==> default: MicroPCF is now running. ==> default: To begin using MicroPCF, please run: ==> default: cf api api.local.micropcf.io --skip-ssl-validation ==> default: cf login ==> default: Email: admin ==> default: Password: admin ※初回は vagrant box (3.5GB) を DL するので 時間がかかる・・・ 2回目以降は2〜3分で起動します。
  • 32. しばらく待つと・・・ Ubuntu の VM が起動 ※ちゃんとsnapshotも撮っておきましょう
  • 33. API を target $ cf api api.local.micropcf.io --skip-ssl-validation Setting api endpoint to api.local.micropcf.io... OK API endpoint: https://api.local.micropcf.io (API version: 2.47.0) Not logged in. Use 'cf login' to log in. API の 向き先を決めてから・・・
  • 34. Login $ cf login API endpoint: https://api.local.micropcf.io Email> admin Password> admin Authenticating... OK user: admin password: admin でログイン
  • 35. 完了! $ cf apps Getting apps in org micropcf-org / space micropcf-space as admin... OK No apps found 以上で環境構築は終わりです 実際に使ってみましょう ← まだ何も deploy していないのでアプリは 0 個
  • 36. 簡単なアプリをデプロイ $ tree . ├── index.html └── manifest.yml 0 directories, 2 files 試しに簡単なアプリをデプロイをしてみましょう ※要はただの “Hello World” in HTML なアプリです
  • 39. $ cf push (一部略) Starting app hello-staticfile in org micropcf-org / space micropcf-space as admin... Downloading staticfile_buildpack... Downloaded staticfile_buildpack (2.4M) Creating container Successfully created container Downloading app package... Downloaded app package (250B) Staging... -------> Buildpack version 1.3.0 Downloaded [file:///tmp/buildpacks/c0c5c5b5e08bd4e125c760d54f11e0ea/dependencies/https___pivotal-buildpacks.s3.amazonaws.com_concourse-binaries_nginx_nginx-1.9.9- linux-x64.tgz] grep: Staticfile: No such file or directory -----> Using root folder -----> Copying project files into public/ -----> Setting up nginx grep: Staticfile: No such file or directory Exit status 0 Staging complete Uploading droplet, build artifacts cache... Uploading droplet... Uploading build artifacts cache... Uploaded build artifacts cache (128B) Uploaded droplet (2.4M) Uploading complete 1 of 1 instances running App started OK App hello-staticfile was started using this command `sh boot.sh` Showing health and status for app hello-staticfile in org micropcf-org / space micropcf-space as admin... OK requested state: started instances: 1/1 usage: 1G x 1 instances urls: hello-staticfile.local.micropcf.io last uploaded: Wed Feb 3 09:42:16 UTC 2016 stack: cflinuxfs2 buildpack: staticfile_buildpack state since cpu memory disk details #0 running 2016-02-03 06:42:27 PM 0.0% 0 of 1G 0 of 1G
  • 40. $ cf push (一部略) Starting app hello-staticfile in org micropcf-org / space micropcf-space as admin... Downloading staticfile_buildpack... Downloaded staticfile_buildpack (2.4M) Creating container Successfully created container Downloading app package... Downloaded app package (250B) Staging... -------> Buildpack version 1.3.0 Downloaded [file:///tmp/buildpacks/c0c5c5b5e08bd4e125c760d54f11e0ea/dependencies/https___pivotal-buildpacks.s3.amazonaws.com_concourse-binaries_nginx_nginx-1.9.9- linux-x64.tgz] grep: Staticfile: No such file or directory -----> Using root folder -----> Copying project files into public/ -----> Setting up nginx grep: Staticfile: No such file or directory Exit status 0 Staging complete Uploading droplet, build artifacts cache... Uploading droplet... Uploading build artifacts cache... Uploaded build artifacts cache (128B) Uploaded droplet (2.4M) Uploading complete 1 of 1 instances running App started OK App hello-staticfile was started using this command `sh boot.sh` Showing health and status for app hello-staticfile in org micropcf-org / space micropcf-space as admin... OK requested state: started instances: 1/1 usage: 1G x 1 instances urls: hello-staticfile.local.micropcf.io last uploaded: Wed Feb 3 09:42:16 UTC 2016 stack: cflinuxfs2 buildpack: staticfile_buildpack state since cpu memory disk details #0 running 2016-02-03 06:42:27 PM 0.0% 0 of 1G 0 of 1G ※約20秒 アプリを 自動的に 動かして・・・ URLを発行
  • 42. ここまでのおさらい 1. Vagrantfile のダウンロード 2. $ vagrant up の実行 3. ログイン の 3 step で Cloud Foundry のお試し環境を作れました
  • 43. 他の All-in-One Cloud Foundry との比較
  • 44. 他のAll-in-One Cloud Foundry との比較 bosh-lite VS cf_nise_installer VS microPCF VMWare 2013/08 yudai 2014/04 Pivotal 2015/12
  • 45. bosh-lite VS cf_nise_installer VS microPCF bosh-lite cf_nise_installer microPCF 手順 多い (20step/2h) 少ない (3step/1h) 少ない (3step/30min) 構成 複数コンテナで 擬似分散構成 プロセス全部入り プロセス全部入り cf の version 自由に選択可能 v161 〜 v211 (自身のverに紐付く) v226 〜 v228 (自身のverに紐付く) リソース RAM: 8GB (公式Doc推奨値) RAM: 2GB (公式Doc推奨値) RAM: 1.5GB (測定値)
  • 46. bosh-lite VS cf_nise_installer VS microPCF bosh-lite cf_nise_installer microPCF 手順 多い (20step/2h) 少ない (3step/1h) 少ない (3step/30min) 構成 複数コンテナで 擬似分散構成 プロセス全部入り プロセス全部入り cf の version 自由に選択可能 v161 〜 v211 (自身のverに紐付く) v226 〜 v228 (自身のverに紐付く) リソース RAM: 8GB (公式Doc推奨値) RAM: 2GB (公式Doc推奨値) RAM: 1.5GB (測定値) かかる手間は bosh-lite > cf_nise_installer ≧ microPCF
  • 47. bosh-lite VS cf_nise_installer VS microPCF bosh-lite cf_nise_installer microPCF 手順 多い (20step/2h) 少ない (3step/1h) 少ない (3step/30min) 構成 複数コンテナで 擬似分散構成 プロセス全部入り プロセス全部入り cf の version 自由に選択可能 v161 〜 v211 (自身のverに紐付く) v226 〜 v228 (自身のverに紐付く) リソース RAM: 8GB (公式Doc推奨値) RAM: 2GB (公式Doc推奨値) RAM: 1.5GB (測定値) 作りは bosh-lite cf_nise_installer, microPCF 擬似分散構成 1VMに集約 → →
  • 48. bosh-lite VS cf_nise_installer VS microPCF bosh-lite cf_nise_installer microPCF 手順 多い (20step/2h) 少ない (3step/1h) 少ない (3step/30min) 構成 複数コンテナで 擬似分散構成 プロセス全部入り プロセス全部入り cf の version 自由に選択可能 v161 〜 v211 (自身のverに紐付く) v226 〜 v228 (自身のverに紐付く) リソース RAM: 8GB (公式Doc推奨値) RAM: 2GB (公式Doc推奨値) RAM: 1.5GB (測定値) release選択の自由は bosh-lite cf_nise_installer, microPCF 自由 制約あり → →
  • 49. bosh-lite VS cf_nise_installer VS microPCF bosh-lite cf_nise_installer microPCF 手順 多い (20step/2h) 少ない (3step/1h) 少ない (3step/30min) 構成 複数コンテナで 擬似分散構成 プロセス全部入り プロセス全部入り cf の version 自由に選択可能 v161 〜 v211 (自身のverに紐付く) v226 〜 v228 (自身のverに紐付く) リソース RAM: 8GB (公式Doc推奨値) RAM: 2GB (公式Doc推奨値) RAM: 1.5GB (測定値) 必要メモリは bosh-lite > cf_nise_installer ≧ microPCF (?)
  • 50. まとめ  Cloud Foundryをお試し運用するなら All-in-One がおすすめ  新ツール microPCF は ・簡単な手順で ・少ないリソースで Cloud Foundryをお試し運用できる