Deployment di Spring Music

Queste istruzioni ti aiuteranno a eseguire il deployment di Cloud Foundry Spring App di riferimento musicale con Kf, dimostrando alcuni aspetti insieme modo:

  1. Creazione di app Java dal codice sorgente. Il codice sorgente Spring Music si baserà su nel cluster, non in locale.

  2. Integrazione del broker di servizi: creerai e collegherai un database PostgreSQL all'app Spring Music.

  3. Spring Cloud Connectors: Spring Cloud Connectors vengono utilizzati dall'app Spring Music per rilevare elementi come i servizi CF vincolati. Funzionano perfettamente con Kf.

  4. 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 usare un service broker diverso installato, purché supporti creando servizi PostgreSQL. Ad esempio, gcp-service-broker.

Esegui il deployment

Clona origine

  1. Clona il repository Spring Music.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. 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

  1. Esegui il deployment (il presupposto che tu abbia già kf targetcreato uno spazio; vedi questi documenti per ulteriori dettagli):

    kf push spring-music
    
  2. Utilizza la funzionalità proxy per accedere all'app di cui è stato eseguito il deployment, quindi carica http://localhost:8080 nel tuo browser:

    kf proxy spring-music
    

    L'app di cui è stato eseguito il deployment include un elemento UI che mostra quale elemento Spring (se presente) profilo in uso. Non viene utilizzato alcun profilo, il che indica sia in uso.

Crea e associa database

  1. 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"}'
    
  2. Associa l'istanza di servizio all'app Spring Music:

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. Riavvia l'app per rendere disponibile l'associazione dei servizi tramite VCAP_SERVICES variabile di ambiente:

    kf restart spring-music
    
  4. (Facoltativo) Visualizza i dettagli dell'associazione:

    kf bindings
    
  5. 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

  1. Scollega ed elimina il servizio PostgreSQL:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. Eliminare l'app:

    kf delete spring-music