Provisionner des services gérés

Trouver un service

Exécutez la commande kf marketplace pour rechercher un service à utiliser dans votre application. Si vous exécutez la commande sans arguments, toutes les classes de service disponibles sont affichées. Une classe de service représente un type de service spécifique, tel qu'une base de données MySQL ou un relais SMTP 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

Plusieurs forfaits peuvent être disponibles pour les classes de service. Un forfait correspond généralement à une version ou à un niveau de tarification du logiciel. Vous pouvez afficher les forfaits d'un service spécifique en indiquant le nom du service à l'aide de la commande "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.

Provisionner un service

Une fois que vous avez identifié une classe de service et que vous prévoyez de la provisionner, vous pouvez créer une instance du service à l'aide de 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

Les services sont provisionnés dans un espace unique. Vous pouvez afficher les services dans l'espace actuel en exécutant kf services :

$ kf services
Listing services in Space: "test"
Name   ClassName  PlanName  Age   Ready  Reason
my-db  mysql      5-7-28    111s  True   <nil>

Vous pouvez supprimer un service à l'aide de kf delete-service :

$ kf delete-service my-db

Créer une liaison de service

Une fois qu'un service est créé, vous pouvez le lier à une application afin d'injecter les identifiants dans l'application afin que le service puisse être utilisé. Vous pouvez créer la liaison à l'aide de 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

Vous pouvez répertorier toutes les liaisons dans un espace à l'aide de la commande kf bindings :

$ kf bindings
Listing bindings in Space: "test"
Name                  App     Service  Age  Ready
binding-my-app-my-db  my-app  my-db    82s  True

Une fois qu'un service est lié, redémarrez l'application à l'aide de kf restart. Les identifiants se trouvent dans la variable d'environnement VCAP_SERVICES.

Vous pouvez supprimer une liaison de service à l'aide de la commande kf unbind-service :

$ kf unbind-service my-app my-db