SlideShare uma empresa Scribd logo
1 de 51
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

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

Semelhante a microPCFを使ってみよう

OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Daisuke Ikeda
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Etsuji Nakai
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
Etsuji Nakai
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 

Semelhante a microPCFを使ってみよう (20)

hbstudy37 doc
hbstudy37 dochbstudy37 doc
hbstudy37 doc
 
Hbstudy41 auto scaling
Hbstudy41 auto scalingHbstudy41 auto scaling
Hbstudy41 auto scaling
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Idcfクラウドで始める構築自動化
Idcfクラウドで始める構築自動化Idcfクラウドで始める構築自動化
Idcfクラウドで始める構築自動化
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725
 
Lxc on cloud
Lxc on cloudLxc on cloud
Lxc on cloud
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 

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をお試し運用できる