En estas instrucciones, se te explicará cómo implementar la app de referencia de Cloud Foundry Spring Music con Kf, en la que se muestran algunos aspectos del proceso:
Compila apps de Java desde la fuente: La fuente de Spring Music se compilará en el clúster, no de forma local.
Integración de agente del servicio: Crearás y vincularás una base de datos PostgreSQL a la aplicación Spring Music.
Spring Cloud Connectors: La app de Spring Music usa Spring Cloud Connectors para detectar elementos como servicios de CF vinculados. Funcionan perfectamente con Kf.
Configuración de la versión de Java: Especificarás la versión de Java que deseas 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 del servicio de Minibroker en tu clúster. Minibroker te permitirá aprovisionar una base de datos PostgreSQL y configurar tu aplicación para usarla.
Para confirmar que Minibroker esté instalado y disponible para tu clúster, ejecuta kf
marketplace
y 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 agente del servicio
Puedes usar un agente del servicio diferente que esté instalado, siempre y cuando sea compatible con la creación de servicios de PostgreSQL. Por ejemplo, el gcp-service-broker.
Implementar
Clona la fuente
Clona el repositorio de Spring Music.
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music cd spring-music
Edita
manifest.yml
y reemplaza 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
Envía la app
Implementa (siempre que ya hayas
kf target
un espacio; consulta estos documentos para obtener más detalles):kf push spring-music
Usa la función de proxy para acceder a la app implementada y, luego, carga
http://localhost:8080
en el navegador:kf proxy spring-music
La app implementada incluye un elemento de IU que muestra qué perfil de Spring (si corresponde) está en uso. Aquí no se usa ningún perfil, lo que indica que se está usando una base de datos en la memoria.
Crea y vincula una base de datos
Crea un servicio de PostgreSQL a través del agente instalado en el mercado:
kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
Vincula la instancia del servicio a la app de Spring Music:
kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
Reinicia la app para que la vinculación del servicio esté disponible a través de la variable de entorno
VCAP_SERVICES
:kf restart spring-music
Visualiza los detalles de vinculación (opcional):
kf bindings
kf proxy
en la aplicación de nuevo y visualízalo en tu navegador web. El perfil de Spring debería mostrarse, lo que indica que el servicio de PostgreSQL que creaste y vinculaste está en uso:
Destruir
Desvincula y borra el servicio de PostgreSQL:
kf unbind-service spring-music spring-music-db kf delete-service spring-music-db
Borra la app:
kf delete spring-music