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:
Criar apps Java a partir da origem: a origem do Spring Music é criada no cluster e não localmente.
Integração do agente de serviços: vai criar e associar uma base de dados PostgreSQL à app Spring Music.
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.
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
Clone o repositório Spring Music.
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music cd spring-music
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
Implemente (isto pressupõe que já
kf target
ou um espaço; consulte estes documentos para mais detalhes):kf push spring-music
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
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"}'
Associe a instância do serviço à app Spring Music:
kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
Reinicie a app para disponibilizar a associação de serviços através da variável de ambiente
VCAP_SERVICES
:kf restart spring-music
(Opcional) Veja os detalhes da associação:
kf bindings
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
Desassocie e elimine o serviço PostgreSQL:
kf unbind-service spring-music spring-music-db kf delete-service spring-music-db
Elimine a app:
kf delete spring-music