Encontrar um serviço
Use o comando kf marketplace
para encontrar um serviço que você queira usar no seu aplicativo. Executar o comando sem argumentos mostrará todas as classes de serviço disponíveis. Uma classe de serviço representa um tipo específico de serviço, por exemplo, um banco de dados MySQL ou um redirecionamento SMTP do Postfix.
$ kf marketplace
5 services can be used in Space "test", 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
As classes de serviço podem ter vários planos disponíveis. Um plano de serviço geralmente corresponde a uma versão ou camada de preços do software. É possível visualizar os planos de um serviço específico fornecendo o nome do serviço com o comando do Marketplace:
$ kf marketplace --service mysql
Name Free Status Description
5-7-14 true Active Fast, reliable, scalable, and easy to use open-source relational database system.
5-7-27 true Active Fast, reliable, scalable, and easy to use open-source relational database system.
5-7-28 true Active Fast, reliable, scalable, and easy to use open-source relational database system.
Provisionar um serviço
Depois de identificar uma classe de serviço e planejar aprovisionar, crie uma instância do serviço usando kf create-service
:
$ kf create-service mysql 5-7-28 my-db
Creating service instance "my-db" in Space "test"
Waiting for service instance to become ready...
Success
Os serviços são provisionados em um único Space. Para ver os serviços no Space atual, execute kf services
:
$ kf services
Listing services in Space: "test"
Name ClassName PlanName Age Ready Reason
my-db mysql 5-7-28 111s True <nil>
É possível excluir um serviço usando kf delete-service
:
$ kf delete-service my-db
Vincular um serviço
Depois que um serviço é criado, você pode vinculá-lo a um aplicativo, que injeta credenciais no aplicativo para que o serviço possa ser usado. É possível criar a vinculação usando kf bind-service
:
$ kf bind-service my-app my-db
Creating service instance binding "binding-my-app-my-db" in Space "test"
Waiting for service instance binding to become ready...
Success
Use o comando kf bindings
para listar todas as vinculações em um Space:
$ kf bindings
Listing bindings in Space: "test"
Name App Service Age Ready
binding-my-app-my-db my-app my-db 82s True
Quando um serviço for vinculado, reinicie o aplicativo usando kf restart
e as credenciais estarão na variável de ambiente VCAP_SERVICES
.
É possível excluir uma vinculação de serviço com o comando kf unbind-service
:
$ kf unbind-service my-app my-db