Kf Cloud Service Broker

Kf Cloud Service Broker 是一个 Service Broker 软件包,其中包含开源 Cloud Service BrokerGoogle Cloud Brokerpak。它作为公共 Docker 映像提供,可直接在 Kubernetes 集群中部署为 Kubernetes 服务。在集群中部署 Kf Cloud Service Broker 服务后,开发者可以通过 Kf Cloud Service Broker 服务预配 Google Cloud 支持性服务,并将支持性服务绑定到 Kf 应用。

要求

替换 Brokerpak 默认值

Brokerpaks 实质上是一个 Terraform 计划和 Docker 文件中的相关依赖项。您可以检查 Terraform 计划以查看默认值,然后可以在创建新服务时指示 Kf Cloud Service Broker 替换它们。

例如,适用于 Cloud SQL for MySQL 的 Terraform 配置包含一个名为 authorized_network 的变量。如果未被替换,则使用 default VPC。如果您想要替换默认设置,可以在创建服务期间传递替换值。示例如下:

  1. 替换计算 region

     kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION"}'
  2. 替换 authorized_network 和计算 region

     kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION","authorized_network":"YOUR_CUSTOM_VPC_NAME"}'

架构

以下 Kf Cloud Service Broker 架构展示了实例的创建方式。

Kf Kf Cloud Service Broker 架构
  • Kf Cloud Service Broker (CSB) 安装在其自己的命名空间中。
  • 安装时,必须提供 Cloud SQL for MySQL 实例,以保存 Kf Cloud Service Broker 使用的业务逻辑。请求通过 Cloud SQL for MySQL Auth 代理从 Kf Cloud Service Broker pod 安全地发送到 Cloud SQL for MySQL 实例。
  • 预配服务时会创建一个 Kf Service 自定义资源。Kf Service 的协调器使用 Open Service Broker API 来预配 Google Cloud 支持性服务。
  • 收到预配/取消预配支持性资源的请求时,Kf Cloud Service Broker 向相应的 Google Cloud 服务发送资源创建/删除请求,这些请求通过 Workload Identity 进行身份验证。它还会将业务逻辑(例如 Kf 服务到支持性服务、服务绑定的映射)保存到 Cloud SQL for MySQL 实例中。
  • 支持性服务创建成功后,会通过 VCAP_SERVICES 绑定到应用。

后续步骤