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:
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.
Integración de Service Broker: crearás y vincularás una base de datos PostgreSQL a la aplicación Spring Music.
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.
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
Clona el repositorio Spring Music.
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music cd spring-music
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
Implementa (se presupone que ya has
kf target
ado un espacio; consulta estos documentos para obtener más información):kf push spring-music
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
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"}'
Vincula la instancia de servicio a la aplicación Spring Music:
kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
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
(Opcional) Consulta los detalles de la vinculación:
kf bindings
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
Desvincula y elimina el servicio PostgreSQL:
kf unbind-service spring-music spring-music-db kf delete-service spring-music-db
Eliminar la aplicación:
kf delete spring-music