Serviços gerenciados

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