Mysql服务在V2版本号中github上有独立的releaseproject(cf-mysql-release),该release提供了一个Mysql-broker和一个Mysql-server和(broker-registrar,broker-deregistrar,acceptance-tests)

Broker是基于CF V2 ServiceBroker API开发,用于管理内部或外部Mysql数据库

一、MysqlBroker&Mysql部署

  1. 下载cf-mysql-release

    git clone https://github.com/cloudfoundry/cf-mysql-release
    cd cf-mysql-release
    ./update
  2. 编译并上传cf-mysql-release至blobstore
    bosh create release releases/cf-mysql-8.yml
    bosh upload release releases/cf-mysql-8.tgz
  3. 创建并编写yml部署文件
    ---
    name: CFMYSQL02
    director_uuid: fdd46e30-f2c5-41dc-9662-0976fdac5716 releases:
    - name: cf-mysql
    version: 8 compilation:
    workers: 2
    cloud_properties:
    ram: 2048
    disk: 6144
    cpu: 2
    network: default
    reuse_compilation_vms: true update:
    canaries: 1
    #waiting for 60s to get update job status
    canary_watch_time: 30000-180000
    update_watch_time: 30000-180000
    max_in_flight: 4
    max_errors: 4 networks:
    - name: default
    subnets:
    - range: 192.168.2.0/24
    # Reserved IPs are the IPs that BOSH should not use in the declared range.
    reserved:
    # IP addresses which you don't want allocated by BOSH
    - 192.168.2.20 - 192.168.2.55
    - 192.168.2.140 - 192.168.2.254
    # IP addresses which you don't want allocated by BOSH
    - 192.168.2.2 - 192.168.2.10
    # Static IPs are the IPs that are statically assigned to jobs in this manifest. The BOSH director does not attempt
    # to dynamically assign these to new VMs.
    static:
    - 192.168.2.56 - 192.168.2.100
    gateway: 192.168.2.1
    # If you configured your BOSH/micro-BOSH to enable DNS, leave the DNS section empty. The BOSH director automatically uses the
    # BOSH/micro-BOSH powerDNS IP. If any jobs ever need to resolve DNS entries outside the BOSH powerDNS subdomain
    # (*.microbosh by default), configure the powerDNS recursor in your bosh release.
    dns:
    - 192.168.2.2
    cloud_properties:
    name: "VM Network"
    meta:
    # override this in your stub to set the environment name,
    # which is used for the deployment name
    #
    # i.e. cf-tabasco
    environment: ~ external_domain: acp.local
    apps_domain: acp.local
    nats:
    user: nats
    password: c1oudc0w
    port: 4222
    machines:
    - 192.168.2.43
    use_gnatsd: true resource_pools:
    - name: services-small
    network: default
    size: 5
    stemcell:
    name: bosh-vsphere-esxi-ubuntu
    # Stemcell version 2200 is the first to support errands for aws and vsphere
    version: 2366
    cloud_properties:
    ram: 2048
    disk: 20480
    cpu: 1 jobs:
    - name: mysql
    release: cf-mysql
    template: mysql
    instances: 1
    resource_pool: services-small
    persistent_disk: 10000
    networks:
    - name: default
    static_ips: 192.168.2.56
    properties:
    admin_password: c1oudc0w
    max_connections: 1500
    max_user_connections: 40
    cluster_ips:
    - 192.168.2.56
    - name: cf-mysql-broker
    release: cf-mysql
    template: cf-mysql-broker
    instances: 1
    resource_pool: services-small
    networks:
    - name: default
    static_ips: 192.168.2.57
    properties:
    auth_username: root
    auth_password: c1oudc0w
    cookie_secret: c1oudc0w
    external_host: p-mysql.acp.local
    ssl_enabled: false
    skip_ssl_validation: true
    cc_api_uri: https://api.acp.local
    nats:
    user: nats
    password: c1oudc0w
    port: 4222
    machines:
    - 192.168.2.43
    use_gnatsd: true
    networks:
    broker_network: default
    services:
    - name: p-mysql
    id: 44b26033-1f54-4087-b7bc-da9652c2a539
    description: A MySQL service for application development and testing
    tags:
    - mysql
    max_db_per_node: 250
    metadata:
    displayName: "MySQL for Pivotal CF"
    imageUrl: "data:image/png;base64,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"
    longDescription: "Provisioning a service instance creates a MySQL database. Binding applications to the instance creates unique credentials for each application to access the database."
    providerDisplayName: "Pivotal Software"
    documentationUrl: "http://docs.gopivotal.com/"
    supportUrl: "http://gopivotal.com/support/"
    dashboard_client:
    id: p-mysql
    secret: c1oudc0w
    plans:
    - name: 100mb-dev
    id: ab08f1bc-e6fc-4b56-a767-ee0fea6e3f20
    description: Shared MySQL Server
    max_storage_mb: 100
    metadata:
    costs:
    - amount:
    usd: 0.0
    unit: MONTH
    bullets:
    - Not for production use - server is not replicated
    - Shared MySQL server
    - 100 MB storage
    - 40 concurrent connections
    displayName: "100 MB Dev"
    mysql_node:
    host: 192.168.2.56 # 也能够设置成外部的mysql节点
    admin_password: c1oudc0w
    - name: broker-registrar
    template: broker-registrar
    release: cf-mysql
    instances: 1
    resource_pool: services-small
    lifecycle: errand
    networks:
    - name: default
    properties:
    cf:
    api_url: https://api.acp.local
    admin_username: admin
    admin_password: admin
    broker:
    name: p-mysql
    host: p-mysql.acp.local
    username: root
    password: c1oudc0w
    - name: broker-deregistrar
    template: broker-deregistrar
    release: cf-mysql
    instances: 1
    resource_pool: services-small
    lifecycle: errand
    networks:
    - name: default
    properties:
    cf:
    api_url: https://api.acp.local
    admin_username: admin
    admin_password: admin
    broker:
    name: p-mysql
    host: p-mysql.acp.local
    username: root
    password: c1oudc0w
    - name: acceptance-tests
    template: acceptance-tests
    release: cf-mysql
    instances: 1
    resource_pool: services-small
    lifecycle: errand
    networks:
    - name: default
    properties:
    cf:
    api_url: https://api.acp.local
    admin_username: admin
    admin_password: admin
    apps_domain: acp.local
    skip_ssl_validation: true
    broker:
    host: p-mysql.acp.local
    service:
    name: p-mysql
    plan_name: 100mb-dev
    max_storage_mb: 100
    properties: {} # Pivotal CF cannot generate global properties
  4. 部署
    bosh deploy

  5. 注冊Mysql-Broker
    cf create-service-broker p-mysql root c1oudc0w http://p-mysql.acp.local

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3poZW55YW5nX2dv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  6. 改动service_plan的訪问权限为public
    cf curl /v2/service_plans

    找到guid后边的值并复制
    改动相应权限为public
    cf curl PUT /v2/service_plans/060cb8c2-3633-493c-acf1-3b60e78aacd4 -b '{"public":'true'}'
  7. 创建service
    cf create-service

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3poZW55YW5nX2dv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  8. 绑定应用至service
    cf bind-service java-hello-offline-mysql p-mysql-32d67

  9. 上传绑定好的应用
    cf push java-hello-offline-mysql -b java-buildpack-offline

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3poZW55YW5nX2dv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  10. 检查service
    cf services

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3poZW55YW5nX2dv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

CloudFoundry Service 使用的更多相关文章

  1. cloudfoundry service broker 制作

    实验室这边需要制作service broker.从今天开始将精力投入其中.

  2. SpringCloud-初识

    说道SpringCloud,原来就去了解过,也有很大兴趣,只是当初不知道这是个什么东西.在它之前,我学习Spring,在官网肆无忌惮的逛的时候,发现了SpringBoot,那个时候就打算开始学习Spr ...

  3. Cloud Foundry中 JasperReports service集成

    Cloud Foundry作为业界第一个开源的PaaS解决方案,正越来越多的被业界接受和认可.随着PaaS的发展,Cloud Foundry顺应潮流,充分发挥开源项目的特点,到目前为止,已经支持了大批 ...

  4. Cloud Foundry中通用service的集成

    目前,CloudFoundry已经集成了很多第三方的中间件服务,并且提供了用户添加自定义服务的接口.随着Cloud Foundry的发展,开发者势必会将更多的服务集成进Cloud Foundry,以供 ...

  5. CloudFoundry.yml修订

    --- name: CFRELEASE02 director_uuid: fdd46e30-f2c5-41dc-9662-0976fdac5716 releases: - name: cf versi ...

  6. Service Mesh简介

    1.1 Service Mesh   1.1.1 什么是Service Mesh Service Mesh是最近才兴起的一个名词,最早在2016年9月29日由开发Linkerd的Buoyant公司首次 ...

  7. 开源的PaaS方案:在OpenStack上部署CloudFoundry (五)常见问题

    部署CloudFoundry可能遇到的问题 1. Bosh 报告 OpenStack API Request Entity Too Large error 解决办法,修改/etc/nova/api-p ...

  8. 开源的PaaS方案:在OpenStack上部署CloudFoundry (二)部署OpenStack

    硬件要求 安装OpenStack 1 安装CentOS 65系统并清空iptables防火墙规则 2 安装系统需要的工具包包括Openstack依赖的和CloudFoundry依赖的 3 安装EPEL ...

  9. 开源的PaaS方案:在OpenStack上部署CloudFoundry (一)简介

    目录(?)[-] OpenStack简介 OpenStack是一个美国国家航空航天局和Rackspace合作研发的以Apache许可证授权并且是一个自由软件和开放源代码项目 OpenStack是一个云 ...

随机推荐

  1. WPF DataGrid 绑定DataSet数据 自动生成行号

    1.绑定数据:dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView; 注意:在创建DataGrid 时可以通过AutoGenerateColumn ...

  2. break、continue和goto 三者作用介绍

    跳跃语句 由于break.continue和goto语句有助于跳跃到代码中的某个特定语句,因此它们属于跳跃语句.下面是这三个语句的介绍. ①break语句 这个语句常与switch语句联合使用:但是, ...

  3. ViewPager循环广告位的实现

    1.如何实现循环播放 2.如何实现自动循环 如何实现循环播放 现在网上实现循环播放都是在adapter的getCount()方法返回一个较大的值并且instantiateItem(ViewGroup ...

  4. Cacti以MB为单位监控流量

    Cacti自带的流量监控阀值模板为“Interface – Traffic”,只能监控bytes,在添加阀值之后,报警的流量信息以bytes为单位,查看很不友好,可以通过以下方法将btyes转换成MB ...

  5. oracle特殊字符的ascii值

  6. iOS开发中的常用宏定义

    在iOS开发的过程中合理的使用宏定义能够极大提高编码的速度,下面是一些常用的宏定义,部分内容来自互联网 Log // 调试状态, 打开LOG功能 #ifdef DEBUG #define GLLog( ...

  7. openssl提取pfx证书密钥对

    刚做银联的项目,对方给了1.pfx和1.cer两个测试文件,总结一下利用这两个文件提取出文本 银联提供两个测试证书  1.pfx 和 1.cer . 其中 pfx证书包含RSA的公钥和密钥;cer证书 ...

  8. FingerChaser(3) 解题报告目录

    所有代码都不超过40行... A:http://www.cppblog.com/willing/archive/2010/05/04/114304.html B:http://www.cnblogs. ...

  9. linux变量心得

    前一段时间学习了一下linux的变量,现在总结有3点需要特别注意: linux变量和C/C++变量的区别 linux变量的引用 linux变量特有的命令替换 先说第一点,linux变量更像是宏定义,只 ...

  10. 10分钟 教你学会Linux/Unix下的vi文本编辑器

    10分钟 教你学会Linux/Unix下的vi文本编辑器 vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结.不敢独享,和你们共享. 首先,记住v ...