Kf Cloud Service Broker ist ein Service Broker-Bundle, das die Open-Source-Produkte Cloud Service Broker und Google Cloud Brokerpak enthält. Es wird als öffentliches Docker-Image zur Verfügung gestellt und kann als Kubernetes-Dienst in Kf-Clustern bereitgestellt werden. Sobald der Kf Cloud Service Broker-Dienst in einem Cluster bereitgestellt wurde, können Entwickler Google Cloud-Sicherungsdienste über den Kf Cloud Service Broker-Dienst bereitstellen und die Sicherungsdienste an Kf-Anwendungen binden.
Voraussetzungen
- Kf Cloud Service Broker benötigt eine Cloud SQL for MySQL-Instanz und ein Dienstkonto, um auf die Cloud SQL for MySQL-Instanz und die Google Cloud-Sicherungsdienste zuzugreifen. Die Verbindung vom Kf Cloud Service Broker zur Cloud SQL for MySQL-Instanz erfolgt über den Cloud SQL Auth Proxy.
- Anfragen für den Zugriff auf Google Cloud-Dienste (z. B. Cloud SQL for MySQL oder Memorystore) werden über Workload Identity authentifiziert.
Standardeinstellungen des Brokerpak überschreiben
Brokerpaks bestehen im Wesentlichen aus einem Terraform-Plan und zugehörigen Abhängigkeiten in einer Docker-Datei. Sie können die Terraform-Pläne prüfen, um die Standardeinstellungen zu sehen. Sie können dann Kf Cloud Service Broker anweisen, sie beim Erstellen neuer Dienste zu überschreiben.
Die Terraform-Konfiguration für Cloud SQL for MySQL enthält beispielsweise eine Variable namens authorized_network
. Wenn nicht überschrieben, wird die VPC default
verwendet. Wenn Sie die Standardeinstellung überschreiben möchten, können Sie dies während der Diensterstellung übergeben. Hier sind einige Beispiele:
Überschreibt die Compute-
region
.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION"}'
Überschreibt die
authorized_network
und berechnetregion
.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION","authorized_network":"YOUR_CUSTOM_VPC_NAME"}'
Architektur
Die folgende Kf Cloud Service Broker-Architektur zeigt, wie Instanzen erstellt werden.
- Der Kf Cloud Service Broker (CSB) ist in seinem eigenen Namespace installiert.
- Bei der Installation muss eine Cloud SQL for MySQL-Instanz bereitgestellt werden, um die Geschäftslogik zu speichern, die von Kf Cloud Service Broker verwendet wird. Anfragen werden sicher vom Kf Cloud Service Broker-Pod über den Auth-Proxy von Cloud SQL for MySQL an die Cloud SQL for MySQL-Instanz gesendet.
- Bei der Dienstbereitstellung wird eine benutzerdefinierte Ressource des Kf-Dienstes erstellt. Der Abgleich des Kf-Dienstes stellt Google Cloud-Dienste über die Open Service Broker API zur Verfügung.
- Wenn eine Anfrage zur Bereitstellung/Aufhebung der Bereitstellung von Sicherungsressourcen empfangen wird, sendet Kf Cloud Service Broker Anfragen zum Löschen/Erstellen von Ressourcen an den entsprechenden Google Cloud-Dienst. Diese Anfragen werden mit Workload Identity authentifiziert. Außerdem wird die Geschäftslogiken (z. B. Zuordnung von Kf-Diensten zu Sicherungsdiensten, Dienstbindungen) an die Cloud SQL for MySQL-Instanz beibehalten.
- Bei der erfolgreichen Erstellung des Sicherungsdienstes wird dieser über VCAP_SERVICES an eine Anwendung gebunden.