Implantar o Spring Music

Estas instruções vão ajudar você a implantar o app de referência Cloud Foundry Spring Music com o Kf, demonstrando alguns tópicos ao longo do caminho:

  1. Criação de apps Java da origem: a origem do Spring Music será criada no cluster, não localmente.

  2. Integração com o agente de serviços: você vai criar e vincular um banco de dados PostgreSQL ao app Spring Music.

  3. Conectores do Spring Cloud: os conectores do Spring Cloud são usados pelo app Spring Music para detectar itens como serviços vinculados do CF. Eles funcionam perfeitamente com o Kf.

  4. Configuração da versão do Java: especifique a versão do Java para o buildpack usar.

Pré-requisitos

Opção 1: Minibroker

O administrador do cluster precisa seguir estas instruções para instalar o agente de serviços do Minibroker no cluster. O Minibroker vai permitir que você provisione um banco de dados PostgreSQL e configure o app para usá-lo.

Para confirmar que o Minibroker está instalado e disponível para o cluster, execute kf marketplace. A saída será assim:

$ 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

Opção 2: outro agente de serviços

Você pode usar outro agente de serviços instalado, desde que ele seja aceito pela criação de serviços do PostgreSQL. Por exemplo, o gcp-service-broker.

Implantação

Clonar origem

  1. Clone o repositório do Spring Music.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. Edite manifest.yml e substitua o conteúdo pelo seguinte:

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

Enviar app

  1. Faça a implantação (pressupondo que você já tenha aplicado kf target a um espaço). Consulte estes documentos para mais detalhes:

    kf push spring-music
    
  2. Use o recurso de proxy para acessar o app implantado e carregue http://localhost:8080 no navegador:

    kf proxy spring-music
    

    O app implantado inclui um elemento da interface que mostra qual perfil do Spring está sendo usado, desde que haja algum em uso. Como nenhum perfil está sendo usado aqui, isso indica que um banco de dados na memória está em uso.

Criar e vincular um banco de dados

  1. Crie um serviço do PostgreSQL usando o agente instalado no Marketplace:

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. Vincule a instância de serviço ao app Spring Music:

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. Reinicie o app para disponibilizar a vinculação de serviço usando a variável de ambiente VCAP_SERVICES:

    kf restart spring-music
    
  4. (Opcional) Confira os detalhes da vinculação:

    kf bindings
    
  5. Aplique kf proxy novamente ao app e visualize no navegador da Web. O perfil do Spring deve ser exibido, indicando que o serviço do PostgreSQL que você criou e vinculou está sendo usado:

Exclusão

  1. Desvincule e exclua o serviço do PostgreSQL:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. Exclua o aplicativo:

    kf delete spring-music