Este documento mostra como vincular um app a uma instância do MySQL não listada no mercado do Kf (incluindo o Cloud SQL para MySQL) com o Spring Cloud Foundry Connector. Isso faz com que as credenciais do MySQL sejam injetadas no aplicativo, assim como a vinculação aos serviços sejam provisionadas pelos planos do Marketplace.
Antes de começar
- Verifique se o MySQL está instalado e acessível pelo cluster Kf.
- Verifique se o banco de dados do aplicativo já foi criado.
- Verifique se você segmentou o Space que está executando o app.
Criar a instância fornecida pelo usuário
Para que o Kf vincule um aplicativo à instância do MySQL, a variável de ambiente mínima é o URI (por exemplo, mysql://username:password@host:port/dbname
). Outros pares de chave-valor poderão ser incluídos, se você quiser. A documentação do MySQL pode ajudar na criação de uma string de URI. O exemplo a seguir deve ser suficiente para implantações básicas.
kf cups service-instance-name -p '{"username":"username", "password":"password", "uri":"mysql://username:password@mysql-host:3306/database"}' -t "mysql"
Vincular o app
Agora que o serviço fornecido pelo usuário foi criado, você pode vincular um app ao nome da instância:
kf bind-service application-name service-instance-name
Reinicie o app para que as alterações entrem em vigor:
kf restart application-name
É possível confirmar as novas variáveis de ambiente que estão sendo fornecidas ao app:
kf vcap-services application-name
Atualizar a instância fornecida pelo usuário
Se houver alterações no ambiente (por exemplo, atualização de senha ou host no URI ou o acréscimo de novos pares de chave-valor) que precisem ser transmitidas para qualquer app vinculado a ele, será possível atualizar a instância fornecida pelo usuário.
kf uups service-instance-name -p '{"uri":"new-uri", "some-new-key": "some-new-value"}'
kf unbind-service application-name service-instance-name
kf bind-service application-name service-instance-name