Questo documento illustra come associare l'app a un'istanza MySQL non elencata nel Marketplace Kf (incluso Cloud SQL per MySQL) con il connettore Spring Cloud Foundry. Di conseguenza, le credenziali MySQL vengono iniettate nell'app, proprio come l'associazione ai servizi di cui è stato eseguito il provisioning tramite i piani del marketplace.
Prima di iniziare
- Assicurati che MySQL sia installato e accessibile dal tuo cluster Kf.
- Assicurati che il database per la tua app sia già stato creato.
- Assicurati di avere scelto come target lo spazio in cui è in esecuzione la tua app.
Crea l'istanza fornita dall'utente
Affinché Kf possa associare correttamente un'app all'istanza MySQL, la variabile di ambiente minima è l'URI (ad esempio mysql://username:password@host:port/dbname
). Se vuoi, puoi includere altre coppie chiave-valore. La documentazione di MySQL può aiutarti a creare una stringa URI. L'esempio seguente dovrebbe essere sufficiente per i deployment di base.
kf cups service-instance-name -p '{"username":"username", "password":"password", "uri":"mysql://username:password@mysql-host:3306/database"}' -t "mysql"
Eseguire il binding dell'app
Ora che il servizio fornito dall'utente è stato creato, puoi associare la tua app al nome dell'istanza:
kf bind-service application-name service-instance-name
Riavvia l'app per per applicare le modifiche:
kf restart application-name
Puoi verificare le nuove variabili di ambiente fornite alla tua app:
kf vcap-services application-name
Aggiorna l'istanza fornita dall'utente
Se vengono apportate modifiche all'ambiente (ad esempio l'aggiornamento della password o dell'host nell'URI o l'aggiunta di nuove coppie chiave-valore) che devono essere trasmesse a qualsiasi app associata, puoi aggiornare l'istanza fornita dall'utente.
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