Implemente o Spring Music

Estas instruções explicam como implementar a app de referência Cloud Foundry Spring Music com o Kf, demonstrando alguns aspetos ao longo do processo:

  1. Criar apps Java a partir da origem: a origem do Spring Music é criada no cluster e não localmente.

  2. Integração do agente de serviços: vai criar e associar uma base de dados PostgreSQL à app Spring Music.

  3. Spring Cloud Connectors: os Spring Cloud Connectors são usados pela app Spring Music para detetar itens como serviços CF associados. Funcionam perfeitamente com o Kf.

  4. Configurar a versão do Java: especifica a versão do Java que quer que o buildpack use.

Pré-requisitos

Opção 1: minibroker

O administrador do cluster deve seguir estas instruções para instalar o agente de serviços Minibroker no seu cluster. O minibroker permite-lhe aprovisionar uma base de dados PostgreSQL e configurar a sua app para a usar.

Para confirmar que o Minibroker está instalado e disponível para o seu cluster, execute kf marketplace. Deverá ver uma saída semelhante à seguinte:

$ 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

Pode usar um agente de serviços diferente que esteja instalado, desde que suporte a criação de serviços PostgreSQL. Por exemplo, o gcp-service-broker.

Implementação

Clonar origem

  1. Clone o repositório 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. Implemente (isto pressupõe que já kf targetou um espaço; consulte estes documentos para mais detalhes):

    kf push spring-music
    
  2. Use a funcionalidade de proxy para aceder à app implementada e, em seguida, carregue http://localhost:8080 no navegador:

    kf proxy spring-music
    

    A app implementada inclui um elemento da IU que mostra que perfil do Spring (se existir) está a ser usado. Não está a ser usado nenhum perfil, o que indica que está a ser usada uma base de dados na memória.

Crie e associe uma base de dados

  1. Crie um serviço PostgreSQL através do agente instalado no mercado:

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

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

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

    kf bindings
    
  5. kf proxy novamente para a app e veja-o no navegador de Internet. O perfil do Spring deve ser apresentado, indicando que o serviço PostgreSQL que criou e associou está a ser usado:

Destruir

  1. Desassocie e elimine o serviço PostgreSQL:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. Elimine a app:

    kf delete spring-music