Kf Cloud Service Broker est un bundle Service Broker qui inclut les services Open Source Cloud Service Broker et Google Cloud Brokerpak. Il est disponible en tant qu'image Docker publique, prête à être déployée en tant que service Kubernetes dans des clusters Kf. Une fois que le service Kf Cloud Service Broker est déployé dans un cluster, les développeurs peuvent provisionner les services externes Google Cloud via ce service et lier les services externes aux applications Kf.
Conditions requises
- Kf Cloud Service Broker nécessite une instance Cloud SQL pour MySQL et un compte de service pour accéder à l'instance Cloud SQL pour MySQL et aux services externes Google Cloud. La connexion depuis Kf Cloud Service Broker vers l'instance Cloud SQL pour MySQL passe par le proxy d'authentification Cloud SQL.
- Les requêtes d'accès aux services Google Cloud (par exemple : Cloud SQL pour MySQL ou Memorystore) sont authentifiées via Workload Identity.
Ignorer les valeurs par défaut de Brokerpak
Les Brokerpaks ne sont ni plus ni moins qu'un plan Terraform et les dépendances associées dans un fichier TAR. Vous pouvez inspecter les plans Terraform pour afficher les valeurs par défaut, puis indiquer à Kf Cloud Service Broker de les remplacer lors de la création de services.
Par exemple, la configuration Terraform pour Cloud SQL pour MySQL inclut une variable appelée authorized_network
. Si les valeurs ne sont pas remplacées, le VPC default
sera utilisé. Vous pouvez remplacer les valeurs par défaut lors de la création du service. Voici quelques exemples :
Ignorez la région de calcul
config
.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"config":"YOUR_COMPUTE_REGION"}'
Ignorez
authorized_network
et la région de calculconfig
.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"config":"YOUR_COMPUTE_REGION","authorized_network":"YOUR_CUSTOM_VPC_NAME"}'
Architecture
L'architecture Kf Cloud Service Broker suivante montre comment les instances sont créées.
- Kf Cloud Service Broker (CSB) est installé dans son propre espace de noms.
- Lors de l'installation, une instance Cloud SQL pour MySQL doit être fournie pour conserver la logique métier utilisée par Kf Cloud Service Broker. Les requêtes sont envoyées en toute sécurité du pod Kf Cloud Service Broker vers l'instance Cloud SQL pour MySQL via le proxy d'authentification Cloud SQL pour MySQL.
- Lors du provisionnement des services, une ressource personnalisée Kf Service est créée. Le rapprochement de Kf Service provisionne des services externes Google Cloud à l'aide de l'API Open Service Broker.
- Lorsqu'une requête de provisionnement ou de déprovisionnement des ressources externes est reçue, Kf Cloud Service Broker envoie des demandes de création/suppression de ressources au service Google Cloud associé, et ces requêtes sont authentifiées avec Workload Identity. Il conserve également les logiques métier (par exemple, le mappage des services Kf avec les services externes ou les liaisons de service) sur l'instance Cloud SQL pour MySQL.
- En cas de réussite de la création du service externe, celui-ci est associé à une application via VCAP_SERVICES.