Queste istruzioni ti aiuteranno a eseguire il deployment di Cloud Foundry Spring App di riferimento musicale con Kf, mostrando alcune cose insieme modo:
Creazione di app Java dal codice sorgente: l'origine di Spring Music verrà compilata sul cluster, non localmente.
Integrazione del broker di servizi: creerai e collegherai un database PostgreSQL all'app Spring Music.
Connettori Spring Cloud: Spring Cloud Connettori utilizzati dall'app Spring Music per rilevare elementi come i servizi CF associati. Funzionano perfettamente con Kf.
Configurazione della versione Java: dovrai specificare la versione di Java che vuoi che venga utilizzata dal buildpack.
Prerequisiti
Opzione 1: minibroker
L'amministratore del cluster deve seguire queste istruzioni. per installare il service broker Minibroker nel tuo cluster. Minibroker ti consentirà di eseguire il provisioning di un database PostgreSQL e di configurare la tua app per utilizzarlo.
Per verificare che Minibroker sia installato e disponibile per il tuo cluster, esegui kf
marketplace
. Dovresti vedere un output simile al seguente:
$ 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
Opzione 2: altro broker di servizi
Puoi utilizzare un broker di servizi diverso installato, purché supporti la creazione di servizi PostgreSQL. Ad esempio, gcp-service-broker.
Esegui il deployment
Clona origine
Clona il repository Spring Music.
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music cd spring-music
Modifica
manifest.yml
e sostituisci i contenuti con quanto segue:--- applications: - name: spring-music memory: 1G random-route: true stack: org.cloudfoundry.stacks.cflinuxfs3 env: BP_AUTO_RECONFIGURATION_ENABLED: false
App push
Esegui il deployment (il presupposto che tu abbia già
kf target
creato uno spazio; vedi questi documenti per ulteriori dettagli):kf push spring-music
Utilizza la funzionalità proxy per accedere all'app di cui è stato eseguito il deployment, quindi carica
http://localhost:8080
nel browser:kf proxy spring-music
L'app di cui è stato eseguito il deployment include un elemento dell'interfaccia utente che mostra quale profilo Spring (se presente) è in uso. Non viene utilizzato alcun profilo, il che indica sia in uso.
Crea e associa database
Crea un servizio PostgreSQL tramite il broker installato nel marketplace:
kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
Associa l'istanza di servizio all'app Spring Music:
kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
Riavvia l'app per rendere disponibile il binding del servizio tramite la variabile di ambiente
VCAP_SERVICES
:kf restart spring-music
(Facoltativo) Visualizza i dettagli dell'associazione:
kf bindings
kf proxy
all'app e visualizzala nel browser web. La primavera il profilo pagamenti, a indicare il servizio PostgreSQL che hai creato bound viene usato:
Elimina
Slega ed elimina il servizio PostgreSQL:
kf unbind-service spring-music spring-music-db kf delete-service spring-music-db
Elimina l'app:
kf delete spring-music