供应代管式服务

查找服务

使用 kf marketplace 命令查找要在应用中使用的服务。在不使用参数的情况下运行该命令将显示所有可用的服务类。服务类表示一种特定类型的服务,例如 MySQL 数据库或 Postfix SMTP 中继。

$ 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

服务类可以有多个计划。服务计划通常对应于软件的版本或价格层级。您可以通过使用 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.

预配服务

确定服务类并计划预配后,您可以使用 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

将服务预配到单个空间。您可以通过运行 kf services 来查看当前空间中的服务:

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

您可以使用 kf delete-service 删除服务:

$ kf delete-service my-db

绑定服务

创建服务后,您可以将它绑定到应用中,从而向应用注入凭据,以便使用该服务。您可以使用 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

您可以使用 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

绑定服务后,使用 kf restart 重启应用,凭据会显示在 VCAP_SERVICES 环境变量中。

您可以使用 kf unbind-service 命令删除服务绑定:

$ kf unbind-service my-app my-db