部署 Spring Music

以下说明将引导您使用 Kf 部署 Cloud Foundry Spring Music 参考应用,并演示此过程中的一些事项:

  1. 从来源构建 Java 应用:Spring Music 来源将在集群上构建,而不是在本地构建。

  2. Service Broker 集成:您将创建一个 PostgreSQL 数据库并将其绑定到 Spring Music 应用。

  3. Spring Cloud 连接器Spring Cloud 连接器由 Spring Music 应用用于检测绑定 CF 服务等内容。它们可与 Kf 无缝合作。

  4. 配置 Java 版本:您将指定要 buildpack 使用的 Java 版本。

前提条件

选项 1:Minibroker

集群管理员应按照这些说明将 Minibroker Service Broker 安装到集群中。Minibroker 允许您预配 PostgreSQL 数据库并将您的应用配置为使用该数据库。

要确认 Minibroker 已安装且可用于集群,请运行 kf marketplace,您应该会看到类似如下所示的输出:

$ kf marketplace
5 services can be used in Space "demo", use the --service flag to list the plans for a service

Broker      Name        Space      Status  Description
minibroker  mariadb                Active  Helm Chart for mariadb
minibroker  mongodb                Active  Helm Chart for mongodb
minibroker  mysql                  Active  Helm Chart for mysql
minibroker  postgresql             Active  Helm Chart for postgresql
minibroker  redis                  Active  Helm Chart for redis

选项 2:其他 Service Broker

您可以使用安装的其他 Service Broker,只要该代理支持创建 PostgreSQL 服务即可。例如,gcp-service-broker

部署

克隆源代码

  1. 克隆 Spring Music 代码库

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. 修改 manifest.yml,并将内容替换为以下内容:

    ---
    applications:
    - name: spring-music
      memory: 1G
      random-route: true
      stack: org.cloudfoundry.stacks.cflinuxfs3
      env:
        BP_AUTO_RECONFIGURATION_ENABLED: false
    

推送应用

  1. 部署(这假设您已 kf target 空间;如需了解详情,请参阅这些文档):

    kf push spring-music
    
  2. 使用代理功能访问部署的应用,然后在浏览器中加载 http://localhost:8080

    kf proxy spring-music
    

    部署的应用包含一个界面元素,其中显示正在使用的 Spring 个人资料(如有)。此处未使用任何个人资料,表明内存中数据库正在使用中。

创建和绑定数据库

  1. 通过在市场中安装的代理创建 PostgreSQL 服务:

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. 将服务实例绑定到 Spring Music 应用:

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. 重启应用以通过 VCAP_SERVICES 环境变量提供服务绑定:

    kf restart spring-music
    
  4. (可选)查看绑定详细信息:

    kf bindings
    
  5. 再次 kf proxy 到应用,然后在网络浏览器中查看该应用。此时应显示 Spring 个人资料,表明正在使用您创建和绑定的 PostgreSQL 服务:

销毁

  1. 取消绑定并删除 PostgreSQL 服务:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. 删除应用:

    kf delete spring-music