Kf Cloud Service Broker è un bundle di Service Broker che include Cloud Service Broker open source e GCP Brokerpak. Viene reso disponibile come immagine Docker pubblica e pronto per il deployment come servizio Kubernetes nei cluster Kf. Una volta eseguito il deployment del servizio Kf Cloud Service Broker in un cluster, gli sviluppatori possono eseguire il provisioning dei servizi di supporto di Google Cloud tramite il servizio Kf Cloud Service Broker e associare i servizi di supporto a Kf Apps.
Requisiti
- Kf Cloud Service Broker richiede un'istanza Cloud SQL per MySQL e un account di servizio per accedere all'istanza Cloud SQL per MySQL e ai servizi di supporto di Google Cloud. La connessione dal Service Broker Kf all'istanza Cloud SQL per MySQL passa attraverso il proxy di autenticazione Cloud SQL.
- Le richieste di accesso ai servizi Google Cloud (ad esempio Cloud SQL per MySQL o Memorystore) vengono autenticate tramite Workload Identity.
Ignorare i valori predefiniti di Brokerpak
I broker sono essenzialmente un piano Terraform e le relative dipendenze in un file Docker. Puoi esaminare i piani Terraform per vedere quali sono i valori predefiniti, quindi puoi dire a Kf Cloud Service Broker di eseguirne l'override durante la creazione di nuovi servizi.
Ad esempio, la configurazione Terraform per Cloud SQL per MySQL include una variabile denominata authorized_network
. Se non viene eseguito l'override, verrà utilizzato il VPC default
. Se vuoi eseguire l'override di quella predefinita, puoi passarla durante la creazione del servizio. Ecco alcuni esempi:
Esegui l'override di
region
di computing.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION"}'
Esegui l'override di
authorized_network
e calcolaregion
.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION","authorized_network":"YOUR_CUSTOM_VPC_NAME"}'
Architettura
L'architettura del broker di servizi cloud Kf Kf di seguito mostra come vengono create le istanze.
- Kf Kf Cloud Service Broker (CSB) è installato nel proprio spazio dei nomi.
- Al momento dell'installazione, è necessario fornire un'istanza Cloud SQL per MySQL per mantenere la logica di business utilizzata da Kf Kf Cloud Service Broker. Le richieste vengono inviate in modo sicuro dal pod Kf Kf Cloud Service Broker all'istanza Cloud SQL per MySQL tramite il proxy di autenticazione Cloud SQL per MySQL.
- Al momento del provisioning dei servizi, viene creata una risorsa personalizzata Kf Service. Il riconciliatore del servizio Kf esegue il provisioning dei servizi di supporto di Google Cloud utilizzando l'API Open Service Broker.
- Quando viene ricevuta una richiesta di provisioning o di deprovisioning delle risorse di supporto, Kf Kf Cloud Service Broker invia richieste di creazione/eliminazione delle risorse al servizio Google Cloud corrispondente, che vengono autenticate con Workload Identity. Inoltre, rende persistenti le logiche di business (ad es. mappatura dei servizi Kf ai servizi di supporto, associazioni di servizi) all'istanza Cloud SQL per MySQL.
- Se la creazione del servizio di supporto è andata a buon fine, quest'ultimo è associato a un'app tramite VCAP_SERVICES.