Kf 雲端服務代理程式是包含開放原始碼 Cloud Service Broker 和 GCP Brokerpak 的服務代理程式組合。這項服務會以公開 Docker 映像檔的形式提供,並可在 Kf 叢集中部署為 Kubernetes 服務。在叢集中部署 Kf Cloud Service Broker 服務後,開發人員可以透過 Kf Cloud Service Broker 服務佈建 Google Cloud 後援服務,並將後援服務繫結至 Kf Apps。
需求條件
- Kf Cloud Service Broker 需要 Cloud SQL for MySQL 執行個體和服務帳戶,才能存取 Cloud SQL for MySQL 執行個體和 Google Cloud 要佈建的後端服務。從 Kf Cloud Service Broker 到 MySQL 適用的 Cloud SQL 執行個體的連線會透過 Cloud SQL Auth Proxy 進行。
- 存取 Google Cloud 服務 (例如 Cloud SQL for MySQL 或 Memorystore) 的要求會透過Workload Identity 進行驗證。
覆寫 Brokerpak 預設值
Brokerpak 基本上是 Docker 檔案中的 Terraform 計畫和相關依附元件。您可以檢查 Terraform 計畫,查看預設值,然後指示 Kf Cloud Service Broker 在建立新服務時覆寫這些值。
舉例來說,MySQL 適用的 Cloud SQL 適用的 Terraform 設定包含名為 authorized_network
的變數。如未覆寫,系統會使用 default
VPC。如要覆寫預設值,您可以在建立服務時傳遞該值。例如:
覆寫運算
region
。kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION"}'
覆寫
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 雲端服務代理程式架構說明瞭如何建立執行個體。
- Kf Kf Cloud Service Broker (CSB) 會安裝在自己的命名空間中。
- 在安裝時,您必須提供 MySQL 適用的 Cloud SQL 執行個體,以便保留 Kf Kf 雲端服務代理程式使用的業務邏輯。要求會透過 MySQL 適用的 Cloud SQL 驗證 Proxy,從 Kf 雲端服務代理程式 Pod 安全傳送至 MySQL 適用的 Cloud SQL 執行個體。
- 在服務佈建時,系統會建立 Kf Service 自訂資源。Kf 服務的調和器會使用 Open Service Broker API 佈建 Google Cloud 支援服務。
- 收到要佈建/解除佈建支援資源的要求後,Kef Kf Cloud Service Broker 會將資源建立/刪除要求傳送至相應的 Google Cloud 服務,並透過 Workload Identity 驗證這些要求。它也會將業務邏輯 (例如將 Kf 服務對應至支援服務、服務繫結) 儲存至 MySQL 適用的 Cloud SQL 執行個體。
- 建立後端服務成功後,後端服務會透過 VCAP_SERVICES 繫結至應用程式。