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