[セットトップ]OpenStack Boshを使用したCloudFoundryの導入(8)-Mysqlサービス-V 2 Brokerの導入
バージョンの説明:
CloudFoundry:V 2バージョン-v 149+(本明細書の後続章のManifestは149+バージョンのCF Releaseに適用)
OpenStack:Grizzlyバージョン+nova-network
CloudFoundry導入交流QQ群:
176302388
Mysqlサービスは現在CloudFoundryのGithubに独立したエンジニアリングサポートがあり、エンジニアリング名:cf-mysql-releaseは、V 2 Broker APIに基づいて開発された新しいサービスであり、機能はかなり強く、Brokerによって内部または外部のMysqlデータベースを管理することができ、このサービスの最新のリリースバージョンはRelease-V 5であり、BOSHを使用して2つの独立したmysqlサービスを導入する方法を紹介し、そのうちの1つは純粋なBrokerインタフェースサービスである.もう1つはMysql-Serverで、同じreleaseパッケージを使用していますが、ymlプロファイルに違いがあります.
1.GitHubからコードを取得して更新する
2、Releaseパッケージを打ってBlobライブラリにアップロードする
方法1:releaseを圧縮パッケージにパッケージ化してから、アップロードコマンドを実行します.
3、YAML配置ファイルの作成
Broker&Mysql-Server導入案:
説明:Boshは2つの仮想マシンインスタンス、cf-mysqlとcf-mysql-broker、cf-mysqlをmysql-serverの実行とデータストレージ環境として作成し、cf-mysql-brokerは管理インタフェースを提供するために使用します.Broker Only導入案:
説明:Boshは、mysqlデータベースを管理するインタフェースを提供する仮想マシンインスタンスcf-mysql-brokerのみを作成しました.このスキームではmysql-serverサービスは提供されず、外部のmysqlデータベースを採用しています.IP:10.68.19.62は外部のmysqlデータベースのアクセスアドレスであり、admin_passwordはrootユーザーのパスワードです.注意:mysqlデータベースがrootユーザーに「%」権限を付与する必要があります.そうしないと、リモートアクセスはできません.
4、配置の実行
Broker&Mysql-Serverスキームの導入:
5、Mysql-Brokerを登録する
説明:URL-Mysql-Brokerインスタンスのアクセスアドレス、IPはbosh vmsで見ることができて、Username-Brokerはユーザーを認証して、YAMLプロファイルの中で設定して、Password-Brokerはユーザーのパスワードを認証して、YAMLプロファイルの中で設定します.
6、サービスプランへのアクセス権の設定
V 2 Brokerが作成されるとデフォルトではオープンアクセス権がありませんので、手動で開く必要があります.まずService PlanのURLを確認します.
説明:mysql-ex同理操作
7、MysqlとMysql-exサービスの作成
CloudFoundry:V 2バージョン-v 149+(本明細書の後続章のManifestは149+バージョンのCF Releaseに適用)
OpenStack:Grizzlyバージョン+nova-network
CloudFoundry導入交流QQ群:
176302388
Mysqlサービスは現在CloudFoundryのGithubに独立したエンジニアリングサポートがあり、エンジニアリング名:cf-mysql-releaseは、V 2 Broker APIに基づいて開発された新しいサービスであり、機能はかなり強く、Brokerによって内部または外部のMysqlデータベースを管理することができ、このサービスの最新のリリースバージョンはRelease-V 5であり、BOSHを使用して2つの独立したmysqlサービスを導入する方法を紹介し、そのうちの1つは純粋なBrokerインタフェースサービスである.もう1つはMysql-Serverで、同じreleaseパッケージを使用していますが、ymlプロファイルに違いがあります.
1.GitHubからコードを取得して更新する
git clone https://github.com/cloudfoundry/cf-mysql-release.git
cd cf-mysql-release
./update
2、Releaseパッケージを打ってBlobライブラリにアップロードする
方法1:releaseを圧縮パッケージにパッケージ化してから、アップロードコマンドを実行します.
bosh create release releases/cf-mysql-5.yml
パッケージが完了したら、次のことを行います.bosh upload release releases/cf-mysql-5.tgz
方式2:ymlを直接介してアップロード操作を実行するbosh upload release releases/cf-mysql-5.yml
国内のネットワーク環境の速度が遅く、不安定であることを考慮して、使用方式1を提案する.作成中にrelease名を入力する必要があります.これは自分で取ります.この例ではcf-mysqlです.3、YAML配置ファイルの作成
Broker&Mysql-Server導入案:
---
name: cf-mysql
director_uuid: 785aa0a6-87c7-4452-a862-c118afc90b37 # CHANGE
releases:
- name: cf-mysql
version: latest
compilation:
workers: 3
network: default
reuse_compilation_vms: true
cloud_properties:
instance_type: v1.compile # CHANGE
update:
canaries: 1
canary_watch_time: 30000-60000
update_watch_time: 30000-60000
max_in_flight: 4
networks:
- name: floating
type: vip
cloud_properties: {}
- name: default
type: dynamic
cloud_properties:
security_groups:
- default # CHANGE
resource_pools:
- name: small
network: default
size: 2
stemcell:
name: bosh-openstack-kvm-ubuntu
version: latest
cloud_properties:
instance_type: v1.small # CHANGE
jobs:
- name: cf-mysql
release: cf-mysql
template:
- mysql
instances: 1
resource_pool: small
persistent_disk: 100000
networks:
- name: default
default: [dns, gateway]
- name: floating
static_ips:
- 10.68.19.134 # CHANGE
properties:
admin_password: c1oudc0w
max_connections: 1500
max_user_connections: 40
- name: cf-mysql-broker
release: cf-mysql
template:
- cf-mysql-broker
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
properties:
auth_username: vsc
auth_password: c1oudc0w
services:
- name: mysql
id: 44b26033-1f54-4087-b7bc-da9652c2a539
description: MySQL service for application development and testing
tags:
- mysql
- relational
max_db_per_node: 250
metadata:
provider:
name:
listing:
imageUrl:
blurb: MySQL service for application development and testing
plans:
- name: default
id: ab08f1bc-e6fc-4b56-a767-ee0fea6e3f20
description: Shared MySQL Server, 100mb persistent disk, 40 max concurrent connections
max_storage_mb: 100
metadata:
cost: 0
bullets:
- content: Shared MySQL server
- content: 100 MB storage
- content: 40 concurrent connections
mysql_node:
host: 10.68.19.134
admin_password: c1oudc0w
properties: {}
説明:Boshは2つの仮想マシンインスタンス、cf-mysqlとcf-mysql-broker、cf-mysqlをmysql-serverの実行とデータストレージ環境として作成し、cf-mysql-brokerは管理インタフェースを提供するために使用します.Broker Only導入案:
---
name: cf-mysql-ex
director_uuid: 785aa0a6-87c7-4452-a862-c118afc90b37 # CHANGE
releases:
- name: cf-mysql
version: latest
compilation:
workers: 3
network: default
reuse_compilation_vms: true
cloud_properties:
instance_type: v1.compile # CHANGE
update:
canaries: 1
canary_watch_time: 30000-60000
update_watch_time: 30000-60000
max_in_flight: 4
networks:
- name: floating
type: vip
cloud_properties: {}
- name: default
type: dynamic
cloud_properties:
security_groups:
- default # CHANGE
resource_pools:
- name: small
network: default
size: 1
stemcell:
name: bosh-openstack-kvm-ubuntu
version: latest
cloud_properties:
instance_type: v1.small # CHANGE
jobs:
- name: cf-mysql-broker
release: cf-mysql
template:
- cf-mysql-broker
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
properties:
auth_username: vsc
auth_password: c1oudc0w
services:
- name: mysql-ex
id: 44836033-1f54-4087-b7bc-da9652c2a539
description: MySQL service for application development and testing
tags:
- mysql
- relational
max_db_per_node: 250
metadata:
provider:
name:
listing:
imageUrl:
blurb: MySQL service for application development and testing
plans:
- name: default
id: ku08f1bc-e6fc-4b56-a767-ee0fea6e3f20
description: Shared MySQL Server, 100mb persistent disk, 40 max concurrent connections
max_storage_mb: 100
metadata:
cost: 0
bullets:
- content: Shared MySQL server
- content: 100 MB storage
- content: 40 concurrent connections
mysql_node:
host: 10.68.19.62
admin_password: c1oudc0w
properties: {}
説明:Boshは、mysqlデータベースを管理するインタフェースを提供する仮想マシンインスタンスcf-mysql-brokerのみを作成しました.このスキームではmysql-serverサービスは提供されず、外部のmysqlデータベースを採用しています.IP:10.68.19.62は外部のmysqlデータベースのアクセスアドレスであり、admin_passwordはrootユーザーのパスワードです.注意:mysqlデータベースがrootユーザーに「%」権限を付与する必要があります.そうしないと、リモートアクセスはできません.
4、配置の実行
Broker&Mysql-Serverスキームの導入:
bosh deployment cf-mysql.yml
bosh deploy
Broker Onlyシナリオの導入:bosh deployment cf-mysql-ex.yml
bosh deploy
導入結果:bosh vms
Deployment `cf-mysql'
Director task 167
Task 167 done
+-------------------+---------+---------------+--------------------------+
| Job/index | State | Resource Pool | IPs |
+-------------------+---------+---------------+--------------------------+
| cf-mysql/0 | running | small | 50.50.0.27, 10.68.19.134 |
| cf-mysql-broker/0 | running | small | 50.50.0.26 |
+-------------------+---------+---------------+--------------------------+
VMs total: 2
Deployment `cf-mysql-ex'
Director task 168
Task 168 done
+-------------------+---------+---------------+------------+
| Job/index | State | Resource Pool | IPs |
+-------------------+---------+---------------+------------+
| cf-mysql-broker/0 | running | small | 50.50.0.28 |
+-------------------+---------+---------------+------------+
VMs total: 1
5、Mysql-Brokerを登録する
root@bosh-cli:~# cf add-service-broker mysql
URL> http://50.50.0.26
Username> vsc
Password> c1oudc0w
説明:URL-Mysql-Brokerインスタンスのアクセスアドレス、IPはbosh vmsで見ることができて、Username-Brokerはユーザーを認証して、YAMLプロファイルの中で設定して、Password-Brokerはユーザーのパスワードを認証して、YAMLプロファイルの中で設定します.
root@bosh-cli:~# cf add-service-broker mysql-ex
URL> http://50.50.0.28
Username> vsc
Password> c1oudc0w
6、サービスプランへのアクセス権の設定
V 2 Brokerが作成されるとデフォルトではオープンアクセス権がありませんので、手動で開く必要があります.まずService PlanのURLを確認します.
cf curl /v2/service_plans
出力されたJSONデータにService PlanのURLが見つかりました."service_plans": [
{
"metadata": {
"guid": "ac75ce76-dfe5-409a-84a2-42a654dd0ff8",
"url": "/v2/service_plans/ac75ce76-dfe5-409a-84a2-42a654dd0ff8",
"created_at": "2013-12-20T09:31:08+00:00",
"updated_at": null
},
"entity": {
"name": "100mb",
"free": true,
"description": "Shared MySQL Server, 100mb persistent disk, 40 max concurrent connections",
"service_guid": "fea49494-0953-4374-a668-3b9593fe14cb",
"extra": "{\"cost\":0,\"bullets\":[{\"content\":\"Shared MySQL server\"},{\"content\":\"100 MB storage\"},{\"content\":\"40 concurrent connections\"}]}",
"unique_id": "ab08f1bc-e6fc-4b56-a767-ee0fea6e3f20",
"public": false,
"service_url": "/v2/services/fea49494-0953-4374-a668-3b9593fe14cb",
"service_instances_url": "/v2/service_plans/ac75ce76-dfe5-409a-84a2-42a654dd0ff8/service_instances"
}
}
]
は、次の文のオープン権限を実行します.cf curl PUT /v2/service_plans/ac75ce76-dfe5-409a-84a2-42a654dd0ff8 -b '{"public":'true'}'
説明:mysql-ex同理操作
7、MysqlとMysql-exサービスの作成
root@bosh-cli:~# cf create-service
1: blob 0.51
2: elasticsearch 0.20
3: memcached 1.4
4: mongodb 2.2
5: mysql , via
6: mysql-ex , via
7: postgresql 9.3
8: rabbitmq 3.0
9: redis 2.6
10: user-provided , via
What kind?> 5
Name?> mysql-166e6
1: default: Shared MySQL Server, 100mb persistent disk, 40 max concurrent connections
Which plan?> 1
Creating service mysql-166e6... OK
root@bosh-cli:~# cf create-service
1: blob 0.51
2: elasticsearch 0.20
3: memcached 1.4
4: mongodb 2.2
5: mysql , via
6: mysql-ex , via
7: postgresql 9.3
8: rabbitmq 3.0
9: redis 2.6
10: user-provided , via
What kind?> 6
Name?> mysql-ex-5a8a7
1: default: Shared MySQL Server, 100mb persistent disk, 40 max concurrent connections
Which plan?> 1
Creating service mysql-ex-5a8a7... OK
サービスが作成され、特定のアプリケーションにバインドして使用できます.