SlideShare a Scribd company logo
1 of 39
Download to read offline
Copyright© 2016 NTT Software Corporation
cf-containers-brokerを使った
簡単サービス作成
NTTソフトウェア株式会社
クラウド&セキュリティ事業部
クラウド事業ユニット
森川 健
Copyright© 2016 NTT Software Corporation 2
自己紹介
• 氏名
• 森川 健(Takeshi Morikawa)
• 所属
• NTTソフトウェア株式会社
クラウド&セキュリティ事業部
クラウド事業ユニット
• 担当業務
• 2012年3月~2016年2月 Cloud Foundry担当
※NTTソフトウェアは2012年2月の日本Cloud Foundryグループ設立時より参加
NTTソフトウェアOSS(オープンソースソフトウェア)の活用ページ
Copyright© 2016 NTT Software Corporation 3
主な活動
• Cloud Foundry v2向けのコアコンポーネントの機能改善
• Implementation of High Availability of Application instances by NTT
• 日本Cloud Foundryグループブログ百日行執筆
• 47日目:Shout
• 52日目:Tracks
• 68日目:spring-boot-cf-service-broker-mongo
• 69日目:Let’s Chat
• 81日目:Rocket.Chat
• 82日目:Wekan
• 86日目:GroupSession
• 92日目:webcrontab
• 96日目:NicoNico SPEENYA
• 99日目:SHIRASAGI
Copyright© 2016 NTT Software Corporation 4
百日行の投稿によって
Cloud Foundry OSS版の公式ML(コミュニティ)
にてmongo brokerについて質問に貢献
This is excellent.
I think your blog post outlines
exactly what I was looking for.
Thank you for the help.
http://cf-dev.70369.x6.nabble.com/cf-dev-Provided-service-broker-API-version-is-not-
supported-Expected-Version-2-4-Provided-Version-nul-td2905.html#a2932
Copyright© 2016 NTT Software Corporation 5
本日の内容
Copyright© 2016 NTT Software Corporation 6
Cloud Foundryにおける
サービスについて
Copyright© 2016 NTT Software Corporation 7
PaaSでDBに接続する際は
以下のように
環境変数で接続情報を使われる事が多い
DATABASE_URL=postgres://foo:foopass@hogehoge.com:5432/test123db
Copyright© 2016 NTT Software Corporation 8
Cloud Foundryでは
PostgreSQLやMySQL等をサービスと呼び
CLIからAPIを経由して以下の操作が可能
• サービス作成と削除
• サービスのアプリと紐付けと解除
アプリを紐付ける事で環境変数からサービスの接続情報が取得可能になる
Copyright© 2016 NTT Software Corporation 9
サービスの接続情報
サービスによって接続情報作成のタイミングや
作成のされ方が異なる場合がある
• 作成タイミング
• サービスの作成時(create-service)
• アプリとの紐付け時(bind-service)
• 作成のされ方
• 1つのサービスインスタンスで複数ユーザ分のサービスを載せる
(マルチテナント型)
• 1つのサービスインスタンスで1ユーザ分のサービスを載せる
Copyright© 2016 NTT Software Corporation 10
サービス化するには
Copyright© 2016 NTT Software Corporation 11
Cloud Foundryでは
通常Service Brokerを個別に1種類ずつ作成
するのが一般的
• PostgreSQL用
• https://github.com/cloudfoundry-community/postgresql-cf-
service-broker
• MySQL用
• https://github.com/cloudfoundry/cf-mysql-broker
• MongoDB用
• https://github.com/spring-cloud-samples/cloudfoundry-
service-broker
Copyright© 2016 NTT Software Corporation 12
複数のサービス用の
Service Brokerを
メンテするのが大変
&
パブリックな
Cloud Foundryサービスと
同じサービスを簡単に作りたい
Copyright© 2016 NTT Software Corporation 13
cf-containers-broker
Copyright© 2016 NTT Software Corporation 14
cf-containers-brokerとは
dockerの仕組みを使って
サービスを簡単に作成可能になるbroker
• cloudfoundry-communityで管理されている
• https://github.com/cloudfoundry-community/cf-containers-broker
• DockerImageを使う
• Rails製
• サービスの追加はYAMLの設定ファイルで行う
Copyright© 2016 NTT Software Corporation 15
メリット
パブリックなCloud Foundryサービスで用意されて
いるような、豊富なサービスと同じ利便性をプライ
ベートな開発環境向けに使用する事が可能
※『商用環境でそのまま利用可能か?』については、docker-boshreleaseのDisclaimer(免責事項)に以下のよう
に記載
『This is not presently a production ready Docker BOSH release. This is a work in progress. It is
suitable for experimentation and may not become supported in the future.』
Copyright© 2016 NTT Software Corporation 16
利用方法
大きく分けて2つ
• docker-boshreleaseを使ってboshでデプロイして利用する
• https://github.com/cloudfoundry-community/docker-boshrelease
• cf-containers-broker自体をdockerで利用する
※Railsなのでローカルでrubyを入れて動かす事も可能
• https://github.com/cloudfoundry-community/cf-containers-broker
Copyright© 2016 NTT Software Corporation 17
manifestの種類(環境)
• githubからcloneするとexampleディレクトリの下に
• bosh-lite
• google
• openstack
• aws
• bosh用manifestのサンプルが存在
• 4種類の環境それぞれ用に更に4種類の構成用manifest
が用意されている
Copyright© 2016 NTT Software Corporation 18
manifestの種類(構成)
Manifest名 特徴
docker-〇〇〇.yml
• manifestの中でdocker imageを指定してboshでデプロイ可能になる
• Dockerfile相当の記述をmanifest内部に記述する事も可能
• 起動したDocker imageのプロセスは他のコンポーネントと同様にmonitで管理され
る
• 基本的にはデプロイ後上げたままで共通的に使うような用途向け(credentialを個々
に分けるものではないのでサービスとしてはあまり向かない)
docker-broker-
〇〇〇.yml
• cf-containers-brokerをboshでデプロイする用
• docker images及びserviceのcatalog情報をmanifestで指定する事でデプロイ可能
• docker image側でcredential情報を環境変数を使って生成する仕組みになっているも
のであればcreate-service毎に異なるcredentialでサービスが作成可能になる
• 1サービスインスタンスにつき1dockerコンテナ
• 基本的には1broker:1dockerになる
• 一部サンプルの中にはcatalog情報の値としてmetadataでPCF向けの値があるが必須
ではない
docker-swarm-
〇〇〇.yml
• dockerとdocker swarmをデプロイする用のmanifest
• この後に説明するmanifestの構成を作る前段階のサンプル的なmanifest
docker-swarm-
broker-〇〇〇.yml
• docker-broker-〇〇〇〇.ymlのswarm対応版で複数のvm上のdockerに対応可能
• elasticsearchやetcd,rabittmq,nats,etcd等の様々なサービスが利用可能なexample
• 1サービスインスタンスにつき1dockerコンテナ
Copyright© 2016 NTT Software Corporation 19
docker-swarm-brokerのmanifestに
記述されているサービス一覧
arangodb22 mysql56
consul nats
couchdb16 neo4j21
elasticsearch13 postgresql93
etcd rabbitmq33
logstash14 redis28
memcached14
128mb,512m,1GB rethinkdb
mongodb26
Copyright© 2016 NTT Software Corporation 20
当初の予定では…
Copyright© 2016 NTT Software Corporation 21
当初の予定では...
docker-boshreleaseを説明する予定でしたが
最新版のbosh-lite用サンプルで検証した所、
以下の問題が発生(それ以外のexampleは環境が準備できず未確認)
※以前過去に検証したのはv16のタグ、今回はcf-release v230 + docker-broker v22 or v23で検証
• 10.244.0.6のIPが指定されているがcf用構築のrelease
(cf-release)側でNATS用で使われていてデプロイに失敗
• errandによるbrokerのregisterがエラーが出て正常動作しな
かった
Copyright© 2016 NTT Software Corporation 22
cf-containers-brokerを
dockerを使って利用する
Copyright© 2016 NTT Software Corporation 23
事前準備
事前に以下の準備を行う
• Dockerを使うので事前に準備
今回はbosh-liteを起動させているホスト側にdockerをインストールを実施
• Cloud Foundry環境の構築
• 今回の検証ではbosh-liteでcf-release v230を事前にデプロイ済み
Copyright© 2016 NTT Software Corporation 24
イメージのビルド
$ git clone https://github.com/cloudfoundry-community/cf-containers-broker.git
$ cd cf-containers-broker/
$ sudo docker build -t frodenas/cf-containers-broker .
検証時コミット
https://github.com/cloudfoundry-community/cf-containers-broker/tree/3b6cdac3c34059e2f22ab456354f0bc285a791dc
Copyright© 2016 NTT Software Corporation 25
設定ファイルの準備
$ mkdir -p /tmp/cf-containers-broker/config
$ mkdir -p /tmp/cf-containers-broker/logs
$ cp config/settings.yml /tmp/cf-containers-broker/config
$ cp config/unicorn.conf.rb /tmp/cf-containers-broker/config
Copyright© 2016 NTT Software Corporation 26
settings.ymlの修正
$ git diff
diff --git a/config/settings.yml b/config/settings.yml
cookie_secret: 'e7247dae-a252-4393-afa3-2219c1c02efd‘
session_expiry: 86400
cc_api_uri: 'http://api.vcap.me‘
- external_ip: 127.0.0.1
- external_host: 'containers.vcap.me‘
+ cc_api_uri: 'http://api.bosh-lite.com‘
+ external_ip: 192.168.15.82
+ external_host: 'containers.192.168.15.82.xip.io‘
ssl_enabled: false
skip_ssl_validation: true
修正箇所のdiff
Copyright© 2016 NTT Software Corporation 27
settings.ymlの修正ポイント
事前に以下の準備を行う
• cc_api_uriはbosh-liteで起動したccngのapiのuri
• extarnal_ipはdockerでcf-container-broekrを起動している場合はホスト
側のIP
• external_host部分はcontainers+ホスト側のIPにxipでアドレス解決可能
にしたもの
※この修正が必須かは不明
デフォルトのPostgreSQL以外をサービス化する場合はdocker-boshreleaseのexampleのdocker-swarm-
brokerから移植するのがお勧め
Copyright© 2016 NTT Software Corporation 28
起動※必要に応じてdocker-compose.ymlに書いた方がお勧めです
$ sudo docker run -d --name cf-containers-broker ¥
--publish 80:80 ¥
--volume /var/run:/var/run ¥
--volume /tmp/cf-containers-broker/logs:/app/log ¥
--volume /tmp/cf-containers-broker/config:/config ¥
frodenas/cf-containers-broker
Copyright© 2016 NTT Software Corporation 29
Service Broker登録と確認
(create-service-brokerとenable-service-access)
$ cf create-service-broker docker-broker containers secret http://192.168.15.82
while read p __; do
cf enable-service-access "$p";
done < <(cf service-access | awk '/orgs/{y=1;next}y && NF' | sort | uniq)
登録
Cloud FoundryのAPIサーバであるCloud ControllerにService Brokerとして登録する
• デフォルトのユーザ名はcontainersでパスワードがsecret
• 192.168.15.82は起動の手順の際に”docker run”でリッスンしたアドレスを入力する
登録確認
$ cf marketplace
Getting services from marketplace in org admin / space admin as admin...OK
service plans description
postgresql93 free PostgreSQL 9.3 service for application development and testing
TIP: Use 'cf marketplace -s SERVICE' to view descriptions of individual plans of a given service.
Copyright© 2016 NTT Software Corporation 30
サービス作成とアプリとの紐付け
(create-serviceとbind-service)
$ cf create-service postgresql93 free dora-pg
Creating service instance dora-pg in org admin / space admin as admin...OK
作成
以下の内容を入力しサービスを作成する
• cf create-service <service名> <plan名> <任意のサービスインスタンス名>
$ cf bind-service dora dora-pg
アプリとの紐付け
以下の内容を入力しアプリとの紐付けを行う
• cf bind-service <アプリ名><作成時に入力したサービスインスタンス名>
Copyright© 2016 NTT Software Corporation 31
サービスの接続情報確認
(env)
$ cf env dora
Getting env variables for app dora in org admin / space admin as admin...
OK
System-Provided:
{
"VCAP_SERVICES": {
"postgresql93": [
{
"credentials": {
"dbname": "hnae3b9lntbijl2y",
"hostname": "192.168.15.82",
"password": "io7we2q8vjtfeevz",
"port": "32768",
"ports": {
"5432/tcp": "32768“
},
"uri": "postgres://vnbchxzfrnmtujwi:io7we2q8vjtfeevz@192.168.15.82:32768/hnae3b9lntbijl2y",
"username": "vnbchxzfrnmtujwi“
},
"label": "postgresql93",
"name": "dora-pg",
"plan": "free",
"tags": [
"postgresql93",
"postgresql",
"relational“
]
}
]
}
}
サービスの接続情報を確認
Copyright© 2016 NTT Software Corporation 32
psqlで接続確認
$ psql -U vnbchxzfrnmtujwi -p 32768 -h 192.168.15.82 -d hnae3b9lntbijl2y
Password for user vnbchxzfrnmtujwi:
psql (9.1.13, server 9.4.5)
WARNING: psql version 9.1, server version 9.4.
Some psql features might not work.
Type "help" for help.hnae3b9lntbijl2y=#
psqlで接続確認を行う
Copyright© 2016 NTT Software Corporation 33
コンテナの状態チェック
$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
19b0d2c2323f frodenas/postgresql:latest “/scripts/run.sh ” 41 hours ago Up 41 hours
0.0.0.0:32768->5432/tcp cf-f418dd0f-3e76-4cf4-95fa-d1f9ad33ad05
5d61ef75398a frodenas/cf-containers-broker "/app/bin/run.sh bun 41 hours ago Up 41 hours
0.0.0.0:80->80/tcp cf-containers-broker
docker psの状態を確認すると以下のようになっている
Copyright© 2016 NTT Software Corporation 34
動作の仕組み
(containers-broker側)
credentials:
username:
key: 'MONGODB_USERNAME‘
password:
key: 'MONGODB_PASSWORD‘
dbname:
key: 'MONGODB_DBNAME'
uri:
prefix: 'mongodb‘
port: '27017/tcp'
create-service毎に異なるcredentialsに対応させるにはsetting.yml側の
cledentialsに固定値orランダム値を使用するかの定義を記述する
• https://github.com/cf-platform-eng/cf-containers-broker#bindings
• https://github.com/cf-platform-eng/cf-containers-broker/blob/master/CREDENTIALS.md
• http://docs.cloudfoundry.org/services/binding-credentials.html
usernameを自動生成する場合
credentials:
username:
key: 'MONGODB_USERNAME‘
value: ‘admin‘
password:
key: 'MONGODB_PASSWORD‘
dbname:
key: 'MONGODB_DBNAME'
uri:
prefix: 'mongodb‘
port: '27017/tcp'
usernameを“admin”に固定する場合
Copyright© 2016 NTT Software Corporation 35
動作の仕組み
(DockerImage側)
#!/bin/bash
USER=${MONGODB_USERNAME:-mongo}
PASS=${MONGODB_PASSWORD:-$(pwgen -s -1 16)}
DB=${MONGODB_DBNAME:-admin}
cf-containers-brokerがdocker runのオプションで-eを使って環境変数が渡ってくるので、起動時のス
クリプト内(run.sh等)でその値を使って
credential情報を起動時に変更させるようにする
• https://github.com/frodenas/docker-mongodb/blob/master/scripts/first_run.sh
first_run.sh
Copyright© 2016 NTT Software Corporation 36
動作の仕組み
(イメージ)
Cloud Controller
USER=${MONGODB_USERNAME:-mongo}
PASS=${MONGODB_PASSWORD:-$(pwgen -s -
1 16)}
DB=${MONGODB_DBNAME:-admin}
first_run.sh
docker run ¥
-e “MONGODB_USEDRNAME=admin“ ¥
-e “MONGODB_PASS WORD=RANDOM_PASS” ¥
-e “MONGODB_DBNAME=RANDOM_DBNAME”
$ create-service mongo free mongo1
create-serviceにつき1dockerコンテナ
cf-containers-broker
Copyright© 2016 NTT Software Corporation 37
• cf-containers-brokerは
• Dockerの仕組みを使ってサービス化が可能になるので活
用する事で開発しやすくなる
• Service Brokerの挙動を把握する参考になる
まとめ
Copyright© 2016 NTT Software Corporation 38
ご清聴
ありがとうございました
Copyright© 2016 NTT Software Corporation 39
商標及び登録商標について
• Cloud Foundryは、米国およびその他の国におけるPivotal Software, Inc.の商標ま
たは登録商標です。
• Dockerは、米国およびその他の国におけるDocker, Inc.の登録商標または商標です。
• Twitterの名称およびそのロゴ、Twitterの「T」ロゴ、Tweet、Twitterの青い鳥は、
米国およびその他の国におけるTwitter, Inc.の登録商標または商標です。
• MySQLは、MySQL, Inc.および米国Sun Microsystems, Inc.の米国およびその他の
国における登録商標または商標です。
• PostgreSQLは、PostgreSQLの米国およびその他の国における登録商標または商標で
す。
• Mongo, MongoDB及びMongoDB leaf logoはMongoDB Inc.の登録商標
です。

More Related Content

What's hot

Cloud founryインストール手順
Cloud founryインストール手順Cloud founryインストール手順
Cloud founryインストール手順
Kotaro Noyama
 

What's hot (20)

さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
 
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
ProjectAtomic-and-geard
ProjectAtomic-and-geardProjectAtomic-and-geard
ProjectAtomic-and-geard
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのか
 
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
 
すごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼう
 
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
 
Cloud founryインストール手順
Cloud founryインストール手順Cloud founryインストール手順
Cloud founryインストール手順
 
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHDevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
 
自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
 
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 

Viewers also liked

Viewers also liked (11)

GO-CFを試してみる
GO-CFを試してみるGO-CFを試してみる
GO-CFを試してみる
 
loggregator update
loggregator updateloggregator update
loggregator update
 
Cloud foundry(v2)へアプリを載せ替え
Cloud foundry(v2)へアプリを載せ替えCloud foundry(v2)へアプリを載せ替え
Cloud foundry(v2)へアプリを載せ替え
 
yet another all-in-one cloudfoundry
yet another all-in-one cloudfoundryyet another all-in-one cloudfoundry
yet another all-in-one cloudfoundry
 
Siriproxy - Talk to Cloudfoundry
Siriproxy - Talk to CloudfoundrySiriproxy - Talk to Cloudfoundry
Siriproxy - Talk to Cloudfoundry
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~
 
Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015
 
部屋と◯◯と私
部屋と◯◯と私部屋と◯◯と私
部屋と◯◯と私
 
Cloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: Tokyo
Cloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: TokyoCloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: Tokyo
Cloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: Tokyo
 
ssh_configのススメ
ssh_configのススメssh_configのススメ
ssh_configのススメ
 
Cloud Foundry Cli Plugin入門
Cloud Foundry Cli Plugin入門Cloud Foundry Cli Plugin入門
Cloud Foundry Cli Plugin入門
 

Similar to cf-containers-broker を使ってローカル環境もサービスの恩恵をうける

[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
Google Cloud Platform - Japan
 

Similar to cf-containers-broker を使ってローカル環境もサービスの恩恵をうける (20)

INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetup
 
Docker活用ソリューション紹介
Docker活用ソリューション紹介Docker活用ソリューション紹介
Docker活用ソリューション紹介
 
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南[External] 2021.12.15 コンテナ移行の前に知っておきたいこと  @ gcpug 湘南
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
App Service の DevOps と Visual Studio Team Services 最新アップデート
App Service の DevOps と Visual Studio Team Services 最新アップデートApp Service の DevOps と Visual Studio Team Services 最新アップデート
App Service の DevOps と Visual Studio Team Services 最新アップデート
 
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
 
Tekton 入門
Tekton 入門Tekton 入門
Tekton 入門
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
 
Docker v14
Docker v14Docker v14
Docker v14
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
 

Recently uploaded

Recently uploaded (12)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

cf-containers-broker を使ってローカル環境もサービスの恩恵をうける

  • 1. Copyright© 2016 NTT Software Corporation cf-containers-brokerを使った 簡単サービス作成 NTTソフトウェア株式会社 クラウド&セキュリティ事業部 クラウド事業ユニット 森川 健
  • 2. Copyright© 2016 NTT Software Corporation 2 自己紹介 • 氏名 • 森川 健(Takeshi Morikawa) • 所属 • NTTソフトウェア株式会社 クラウド&セキュリティ事業部 クラウド事業ユニット • 担当業務 • 2012年3月~2016年2月 Cloud Foundry担当 ※NTTソフトウェアは2012年2月の日本Cloud Foundryグループ設立時より参加 NTTソフトウェアOSS(オープンソースソフトウェア)の活用ページ
  • 3. Copyright© 2016 NTT Software Corporation 3 主な活動 • Cloud Foundry v2向けのコアコンポーネントの機能改善 • Implementation of High Availability of Application instances by NTT • 日本Cloud Foundryグループブログ百日行執筆 • 47日目:Shout • 52日目:Tracks • 68日目:spring-boot-cf-service-broker-mongo • 69日目:Let’s Chat • 81日目:Rocket.Chat • 82日目:Wekan • 86日目:GroupSession • 92日目:webcrontab • 96日目:NicoNico SPEENYA • 99日目:SHIRASAGI
  • 4. Copyright© 2016 NTT Software Corporation 4 百日行の投稿によって Cloud Foundry OSS版の公式ML(コミュニティ) にてmongo brokerについて質問に貢献 This is excellent. I think your blog post outlines exactly what I was looking for. Thank you for the help. http://cf-dev.70369.x6.nabble.com/cf-dev-Provided-service-broker-API-version-is-not- supported-Expected-Version-2-4-Provided-Version-nul-td2905.html#a2932
  • 5. Copyright© 2016 NTT Software Corporation 5 本日の内容
  • 6. Copyright© 2016 NTT Software Corporation 6 Cloud Foundryにおける サービスについて
  • 7. Copyright© 2016 NTT Software Corporation 7 PaaSでDBに接続する際は 以下のように 環境変数で接続情報を使われる事が多い DATABASE_URL=postgres://foo:foopass@hogehoge.com:5432/test123db
  • 8. Copyright© 2016 NTT Software Corporation 8 Cloud Foundryでは PostgreSQLやMySQL等をサービスと呼び CLIからAPIを経由して以下の操作が可能 • サービス作成と削除 • サービスのアプリと紐付けと解除 アプリを紐付ける事で環境変数からサービスの接続情報が取得可能になる
  • 9. Copyright© 2016 NTT Software Corporation 9 サービスの接続情報 サービスによって接続情報作成のタイミングや 作成のされ方が異なる場合がある • 作成タイミング • サービスの作成時(create-service) • アプリとの紐付け時(bind-service) • 作成のされ方 • 1つのサービスインスタンスで複数ユーザ分のサービスを載せる (マルチテナント型) • 1つのサービスインスタンスで1ユーザ分のサービスを載せる
  • 10. Copyright© 2016 NTT Software Corporation 10 サービス化するには
  • 11. Copyright© 2016 NTT Software Corporation 11 Cloud Foundryでは 通常Service Brokerを個別に1種類ずつ作成 するのが一般的 • PostgreSQL用 • https://github.com/cloudfoundry-community/postgresql-cf- service-broker • MySQL用 • https://github.com/cloudfoundry/cf-mysql-broker • MongoDB用 • https://github.com/spring-cloud-samples/cloudfoundry- service-broker
  • 12. Copyright© 2016 NTT Software Corporation 12 複数のサービス用の Service Brokerを メンテするのが大変 & パブリックな Cloud Foundryサービスと 同じサービスを簡単に作りたい
  • 13. Copyright© 2016 NTT Software Corporation 13 cf-containers-broker
  • 14. Copyright© 2016 NTT Software Corporation 14 cf-containers-brokerとは dockerの仕組みを使って サービスを簡単に作成可能になるbroker • cloudfoundry-communityで管理されている • https://github.com/cloudfoundry-community/cf-containers-broker • DockerImageを使う • Rails製 • サービスの追加はYAMLの設定ファイルで行う
  • 15. Copyright© 2016 NTT Software Corporation 15 メリット パブリックなCloud Foundryサービスで用意されて いるような、豊富なサービスと同じ利便性をプライ ベートな開発環境向けに使用する事が可能 ※『商用環境でそのまま利用可能か?』については、docker-boshreleaseのDisclaimer(免責事項)に以下のよう に記載 『This is not presently a production ready Docker BOSH release. This is a work in progress. It is suitable for experimentation and may not become supported in the future.』
  • 16. Copyright© 2016 NTT Software Corporation 16 利用方法 大きく分けて2つ • docker-boshreleaseを使ってboshでデプロイして利用する • https://github.com/cloudfoundry-community/docker-boshrelease • cf-containers-broker自体をdockerで利用する ※Railsなのでローカルでrubyを入れて動かす事も可能 • https://github.com/cloudfoundry-community/cf-containers-broker
  • 17. Copyright© 2016 NTT Software Corporation 17 manifestの種類(環境) • githubからcloneするとexampleディレクトリの下に • bosh-lite • google • openstack • aws • bosh用manifestのサンプルが存在 • 4種類の環境それぞれ用に更に4種類の構成用manifest が用意されている
  • 18. Copyright© 2016 NTT Software Corporation 18 manifestの種類(構成) Manifest名 特徴 docker-〇〇〇.yml • manifestの中でdocker imageを指定してboshでデプロイ可能になる • Dockerfile相当の記述をmanifest内部に記述する事も可能 • 起動したDocker imageのプロセスは他のコンポーネントと同様にmonitで管理され る • 基本的にはデプロイ後上げたままで共通的に使うような用途向け(credentialを個々 に分けるものではないのでサービスとしてはあまり向かない) docker-broker- 〇〇〇.yml • cf-containers-brokerをboshでデプロイする用 • docker images及びserviceのcatalog情報をmanifestで指定する事でデプロイ可能 • docker image側でcredential情報を環境変数を使って生成する仕組みになっているも のであればcreate-service毎に異なるcredentialでサービスが作成可能になる • 1サービスインスタンスにつき1dockerコンテナ • 基本的には1broker:1dockerになる • 一部サンプルの中にはcatalog情報の値としてmetadataでPCF向けの値があるが必須 ではない docker-swarm- 〇〇〇.yml • dockerとdocker swarmをデプロイする用のmanifest • この後に説明するmanifestの構成を作る前段階のサンプル的なmanifest docker-swarm- broker-〇〇〇.yml • docker-broker-〇〇〇〇.ymlのswarm対応版で複数のvm上のdockerに対応可能 • elasticsearchやetcd,rabittmq,nats,etcd等の様々なサービスが利用可能なexample • 1サービスインスタンスにつき1dockerコンテナ
  • 19. Copyright© 2016 NTT Software Corporation 19 docker-swarm-brokerのmanifestに 記述されているサービス一覧 arangodb22 mysql56 consul nats couchdb16 neo4j21 elasticsearch13 postgresql93 etcd rabbitmq33 logstash14 redis28 memcached14 128mb,512m,1GB rethinkdb mongodb26
  • 20. Copyright© 2016 NTT Software Corporation 20 当初の予定では…
  • 21. Copyright© 2016 NTT Software Corporation 21 当初の予定では... docker-boshreleaseを説明する予定でしたが 最新版のbosh-lite用サンプルで検証した所、 以下の問題が発生(それ以外のexampleは環境が準備できず未確認) ※以前過去に検証したのはv16のタグ、今回はcf-release v230 + docker-broker v22 or v23で検証 • 10.244.0.6のIPが指定されているがcf用構築のrelease (cf-release)側でNATS用で使われていてデプロイに失敗 • errandによるbrokerのregisterがエラーが出て正常動作しな かった
  • 22. Copyright© 2016 NTT Software Corporation 22 cf-containers-brokerを dockerを使って利用する
  • 23. Copyright© 2016 NTT Software Corporation 23 事前準備 事前に以下の準備を行う • Dockerを使うので事前に準備 今回はbosh-liteを起動させているホスト側にdockerをインストールを実施 • Cloud Foundry環境の構築 • 今回の検証ではbosh-liteでcf-release v230を事前にデプロイ済み
  • 24. Copyright© 2016 NTT Software Corporation 24 イメージのビルド $ git clone https://github.com/cloudfoundry-community/cf-containers-broker.git $ cd cf-containers-broker/ $ sudo docker build -t frodenas/cf-containers-broker . 検証時コミット https://github.com/cloudfoundry-community/cf-containers-broker/tree/3b6cdac3c34059e2f22ab456354f0bc285a791dc
  • 25. Copyright© 2016 NTT Software Corporation 25 設定ファイルの準備 $ mkdir -p /tmp/cf-containers-broker/config $ mkdir -p /tmp/cf-containers-broker/logs $ cp config/settings.yml /tmp/cf-containers-broker/config $ cp config/unicorn.conf.rb /tmp/cf-containers-broker/config
  • 26. Copyright© 2016 NTT Software Corporation 26 settings.ymlの修正 $ git diff diff --git a/config/settings.yml b/config/settings.yml cookie_secret: 'e7247dae-a252-4393-afa3-2219c1c02efd‘ session_expiry: 86400 cc_api_uri: 'http://api.vcap.me‘ - external_ip: 127.0.0.1 - external_host: 'containers.vcap.me‘ + cc_api_uri: 'http://api.bosh-lite.com‘ + external_ip: 192.168.15.82 + external_host: 'containers.192.168.15.82.xip.io‘ ssl_enabled: false skip_ssl_validation: true 修正箇所のdiff
  • 27. Copyright© 2016 NTT Software Corporation 27 settings.ymlの修正ポイント 事前に以下の準備を行う • cc_api_uriはbosh-liteで起動したccngのapiのuri • extarnal_ipはdockerでcf-container-broekrを起動している場合はホスト 側のIP • external_host部分はcontainers+ホスト側のIPにxipでアドレス解決可能 にしたもの ※この修正が必須かは不明 デフォルトのPostgreSQL以外をサービス化する場合はdocker-boshreleaseのexampleのdocker-swarm- brokerから移植するのがお勧め
  • 28. Copyright© 2016 NTT Software Corporation 28 起動※必要に応じてdocker-compose.ymlに書いた方がお勧めです $ sudo docker run -d --name cf-containers-broker ¥ --publish 80:80 ¥ --volume /var/run:/var/run ¥ --volume /tmp/cf-containers-broker/logs:/app/log ¥ --volume /tmp/cf-containers-broker/config:/config ¥ frodenas/cf-containers-broker
  • 29. Copyright© 2016 NTT Software Corporation 29 Service Broker登録と確認 (create-service-brokerとenable-service-access) $ cf create-service-broker docker-broker containers secret http://192.168.15.82 while read p __; do cf enable-service-access "$p"; done < <(cf service-access | awk '/orgs/{y=1;next}y && NF' | sort | uniq) 登録 Cloud FoundryのAPIサーバであるCloud ControllerにService Brokerとして登録する • デフォルトのユーザ名はcontainersでパスワードがsecret • 192.168.15.82は起動の手順の際に”docker run”でリッスンしたアドレスを入力する 登録確認 $ cf marketplace Getting services from marketplace in org admin / space admin as admin...OK service plans description postgresql93 free PostgreSQL 9.3 service for application development and testing TIP: Use 'cf marketplace -s SERVICE' to view descriptions of individual plans of a given service.
  • 30. Copyright© 2016 NTT Software Corporation 30 サービス作成とアプリとの紐付け (create-serviceとbind-service) $ cf create-service postgresql93 free dora-pg Creating service instance dora-pg in org admin / space admin as admin...OK 作成 以下の内容を入力しサービスを作成する • cf create-service <service名> <plan名> <任意のサービスインスタンス名> $ cf bind-service dora dora-pg アプリとの紐付け 以下の内容を入力しアプリとの紐付けを行う • cf bind-service <アプリ名><作成時に入力したサービスインスタンス名>
  • 31. Copyright© 2016 NTT Software Corporation 31 サービスの接続情報確認 (env) $ cf env dora Getting env variables for app dora in org admin / space admin as admin... OK System-Provided: { "VCAP_SERVICES": { "postgresql93": [ { "credentials": { "dbname": "hnae3b9lntbijl2y", "hostname": "192.168.15.82", "password": "io7we2q8vjtfeevz", "port": "32768", "ports": { "5432/tcp": "32768“ }, "uri": "postgres://vnbchxzfrnmtujwi:io7we2q8vjtfeevz@192.168.15.82:32768/hnae3b9lntbijl2y", "username": "vnbchxzfrnmtujwi“ }, "label": "postgresql93", "name": "dora-pg", "plan": "free", "tags": [ "postgresql93", "postgresql", "relational“ ] } ] } } サービスの接続情報を確認
  • 32. Copyright© 2016 NTT Software Corporation 32 psqlで接続確認 $ psql -U vnbchxzfrnmtujwi -p 32768 -h 192.168.15.82 -d hnae3b9lntbijl2y Password for user vnbchxzfrnmtujwi: psql (9.1.13, server 9.4.5) WARNING: psql version 9.1, server version 9.4. Some psql features might not work. Type "help" for help.hnae3b9lntbijl2y=# psqlで接続確認を行う
  • 33. Copyright© 2016 NTT Software Corporation 33 コンテナの状態チェック $ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 19b0d2c2323f frodenas/postgresql:latest “/scripts/run.sh ” 41 hours ago Up 41 hours 0.0.0.0:32768->5432/tcp cf-f418dd0f-3e76-4cf4-95fa-d1f9ad33ad05 5d61ef75398a frodenas/cf-containers-broker "/app/bin/run.sh bun 41 hours ago Up 41 hours 0.0.0.0:80->80/tcp cf-containers-broker docker psの状態を確認すると以下のようになっている
  • 34. Copyright© 2016 NTT Software Corporation 34 動作の仕組み (containers-broker側) credentials: username: key: 'MONGODB_USERNAME‘ password: key: 'MONGODB_PASSWORD‘ dbname: key: 'MONGODB_DBNAME' uri: prefix: 'mongodb‘ port: '27017/tcp' create-service毎に異なるcredentialsに対応させるにはsetting.yml側の cledentialsに固定値orランダム値を使用するかの定義を記述する • https://github.com/cf-platform-eng/cf-containers-broker#bindings • https://github.com/cf-platform-eng/cf-containers-broker/blob/master/CREDENTIALS.md • http://docs.cloudfoundry.org/services/binding-credentials.html usernameを自動生成する場合 credentials: username: key: 'MONGODB_USERNAME‘ value: ‘admin‘ password: key: 'MONGODB_PASSWORD‘ dbname: key: 'MONGODB_DBNAME' uri: prefix: 'mongodb‘ port: '27017/tcp' usernameを“admin”に固定する場合
  • 35. Copyright© 2016 NTT Software Corporation 35 動作の仕組み (DockerImage側) #!/bin/bash USER=${MONGODB_USERNAME:-mongo} PASS=${MONGODB_PASSWORD:-$(pwgen -s -1 16)} DB=${MONGODB_DBNAME:-admin} cf-containers-brokerがdocker runのオプションで-eを使って環境変数が渡ってくるので、起動時のス クリプト内(run.sh等)でその値を使って credential情報を起動時に変更させるようにする • https://github.com/frodenas/docker-mongodb/blob/master/scripts/first_run.sh first_run.sh
  • 36. Copyright© 2016 NTT Software Corporation 36 動作の仕組み (イメージ) Cloud Controller USER=${MONGODB_USERNAME:-mongo} PASS=${MONGODB_PASSWORD:-$(pwgen -s - 1 16)} DB=${MONGODB_DBNAME:-admin} first_run.sh docker run ¥ -e “MONGODB_USEDRNAME=admin“ ¥ -e “MONGODB_PASS WORD=RANDOM_PASS” ¥ -e “MONGODB_DBNAME=RANDOM_DBNAME” $ create-service mongo free mongo1 create-serviceにつき1dockerコンテナ cf-containers-broker
  • 37. Copyright© 2016 NTT Software Corporation 37 • cf-containers-brokerは • Dockerの仕組みを使ってサービス化が可能になるので活 用する事で開発しやすくなる • Service Brokerの挙動を把握する参考になる まとめ
  • 38. Copyright© 2016 NTT Software Corporation 38 ご清聴 ありがとうございました
  • 39. Copyright© 2016 NTT Software Corporation 39 商標及び登録商標について • Cloud Foundryは、米国およびその他の国におけるPivotal Software, Inc.の商標ま たは登録商標です。 • Dockerは、米国およびその他の国におけるDocker, Inc.の登録商標または商標です。 • Twitterの名称およびそのロゴ、Twitterの「T」ロゴ、Tweet、Twitterの青い鳥は、 米国およびその他の国におけるTwitter, Inc.の登録商標または商標です。 • MySQLは、MySQL, Inc.および米国Sun Microsystems, Inc.の米国およびその他の 国における登録商標または商標です。 • PostgreSQLは、PostgreSQLの米国およびその他の国における登録商標または商標で す。 • Mongo, MongoDB及びMongoDB leaf logoはMongoDB Inc.の登録商標 です。