O Cloud Service Broker do Kf é um pacote de agente de serviços que inclui o Cloud Service Broker de código aberto e o Brokerpak do Google Cloud. Ele está disponível como imagem pública do Docker e está pronto para ser implantado como um serviço do Kubernetes nos clusters do Kf. Depois que o serviço do Cloud Service Broker do Kf é implantado em um cluster, os desenvolvedores podem provisionar os serviços de backup do Google Cloud pelo serviço do Cloud Service Broker do Kf e vincular os serviços de backup aos aplicativos do Kf.
Requisitos
- O Cloud Service Broker do Kf requer uma instância do Cloud SQL para MySQL e uma conta de serviço para acessar a instância do Cloud SQL para MySQL e os serviços de backup do Google Cloud a serem provisionados. A conexão do Cloud Service Broker do Kf com a instância do Cloud SQL para MySQL passa pelo proxy de autenticação do Cloud SQL.
- As solicitações para acessar os serviços do Google Cloud, como Cloud SQL para MySQL ou Memorystore, são autenticadas pela Identidade da carga de trabalho.
Modificar padrões do Brokerpak
O Brokerpak é essencialmente um plano do Terraform e as dependências relacionadas em um arquivo do Docker. Você pode inspecionar os planos do Terraform para ver quais são os padrões e, em seguida, dizer ao Cloud Service Broker do Kf para substituí-los ao criar novos serviços.
Por exemplo, a configuração do Terraform para o Cloud SQL para MySQL inclui uma variável chamada authorized_network
. Se não for substituída, a VPC default
será usada. Se você quiser substituir o padrão, faça isso durante a criação do serviço. Veja alguns exemplos:
Substitua a
region
de computação.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION"}'
Substitua
authorized_network
e calculeregion
.kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"YOUR_COMPUTE_REGION","authorized_network":"YOUR_CUSTOM_VPC_NAME"}'
Arquitetura
A arquitetura do agente de serviços do Cloud Kf a seguir mostra como as instâncias são criadas.
- O Cloud Service Broker (CSB) do Kf é instalado em seu próprio namespace.
- Durante a instalação, uma instância do Cloud SQL para MySQL precisa ser fornecida para manter a lógica de negócios usada pelo Cloud Service Broker do Kf. As solicitações são enviadas com segurança do pod do Cloud Service Broker do Kf para a instância do Cloud SQL para MySQL pelo proxy de autenticação do Cloud SQL para MySQL.
- No provisionamento de serviço, um recurso personalizado de serviço Kf é criado. A reconciliação do serviço Kf provisiona serviços de apoio do Google Cloud usando a API Open Service Broker.
- Quando uma solicitação para provisionar/desprovisionar recursos de backup é recebida, o Cloud Service Broker do Kf envia solicitações de criação/exclusão de recursos para o serviço correspondente do Google Cloud, e essas solicitações são autenticadas com a Identidade da carga de trabalho. Ele também liga a lógica de negócios, como mapeamento de serviços Kf para serviços de backup e ligações de serviço, à instância do Cloud SQL para MySQL.
- Quando o serviço de backup é criado corretamente, ele é vinculado a um aplicativo pelo VCAP_SERVICES.