MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come si accede a un database MongoDB da due app Openshift?

Aggiornamento 2018:questo vale per Openshift 2. La versione 3 è molto diversa e, nonostante si applichino le regole generali di Linux e ridimensionamento, i dettagli sono diventati obsoleti.

Sebbene la risposta di @MartinB sia stata tempestiva e corretta, è solo un collegamento, quindi lasciami inserire qui l'essenziale.

Supponendo che la configurazione di un DB non condiviso sia già stata eseguita, è necessario trovare l'host e la porta. Puoi ssh alla tua app (quella con il DB) o usa il rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env porta tutte le variabili di ambiente e grep le filtra per mostrare solo quelle relative a Mongo. Dovresti vedere qualcosa come:

OPENSHIFT_MONGODB_DB_HOST=xxxxx-yyyyy.apps.osecloud.com
OPENSHIFT_MONGODB_DB_PORT=zzzzz

xxxxx is the ID of the gear that Mongo sits on
yyyyy is your domain/namespace
zzzzz is MongoDB port

Ora puoi usarli per creare una connessione al DB da qualsiasi punto del tuo ambiente Openshift. Un'altra applicazione deve utilizzare l'URL xxxxx-yyyyy:zzzzz. Puoi memorizzarli in variabili personalizzate per semplificare la manutenzione.

$ rhc env-set \
MYOWN_DB_HOST=xxxxx-yyyyy \
MYOWN_DB_PORT=zzzzz \
MYOWN_DB_PASSWORD=****** \
MYOWN_DB_USERNAME=admin..... \
MYOWN_DB_NAME=dbname...

E poi usa le variabili d'ambiente invece di quelle standard. Ricorda solo che non vengono aggiornati automaticamente quando il DB si allontana.