Desplegar Spring Music

En estas instrucciones se explica cómo desplegar la aplicación de referencia Cloud Foundry Spring Music con Kf. Durante el proceso, se mostrarán algunos aspectos:

  1. Compilación de aplicaciones Java a partir del código fuente: el código fuente de Spring Music se compilará en el clúster, no de forma local.

  2. Integración de Service Broker: crearás y vincularás una base de datos PostgreSQL a la aplicación Spring Music.

  3. Conectores de Spring Cloud: la aplicación Spring Music usa conectores de Spring Cloud para detectar elementos como los servicios de CF enlazados. Funcionan a la perfección con Kf.

  4. Configurar la versión de Java: especificarás la versión de Java que quieras que use el paquete de compilación.

Requisitos previos

Opción 1: Minibroker

El administrador del clúster debe seguir estas instrucciones para instalar el agente de servicios Minibroker en el clúster. Minibroker te permitirá aprovisionar una base de datos PostgreSQL y configurar tu aplicación para que la use.

Para confirmar que Minibroker está instalado y disponible en tu clúster, ejecuta kf marketplace. Deberías ver un resultado similar al siguiente:

$ 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

Opción 2: Otro Service Broker

Puedes usar otro intermediario de servicios instalado siempre que admita la creación de servicios PostgreSQL. Por ejemplo, gcp-service-broker.

Desplegar

Clonar origen

  1. Clona el repositorio Spring Music.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. Edita manifest.yml y sustituye el contenido por lo siguiente:

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

Push App

  1. Implementa (se presupone que ya has kf targetado un espacio; consulta estos documentos para obtener más información):

    kf push spring-music
    
  2. Usa la función de proxy para acceder a la aplicación implementada y, a continuación, carga http://localhost:8080 en tu navegador:

    kf proxy spring-music
    

    La aplicación implementada incluye un elemento de interfaz de usuario que muestra qué perfil de Spring se está usando (si es el caso). Aquí no se usa ningún perfil, lo que indica que se está usando una base de datos en memoria.

Crear y vincular una base de datos

  1. Crea un servicio de PostgreSQL a través del bróker instalado en el mercado:

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. Vincula la instancia de servicio a la aplicación Spring Music:

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. Reinicia la aplicación para que el enlace de servicio esté disponible a través de la variable de entorno VCAP_SERVICES:

    kf restart spring-music
    
  4. (Opcional) Consulta los detalles de la vinculación:

    kf bindings
    
  5. kf proxy a la aplicación de nuevo y mírala en tu navegador web. Debería mostrarse el perfil de Spring, que indica que se está usando el servicio PostgreSQL que has creado y enlazado:

Eliminar

  1. Desvincula y elimina el servicio PostgreSQL:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. Eliminar la aplicación:

    kf delete spring-music