2017-07-22 8 views
2

kubernetesによって管理されているGoogle計算エンジンでnodejs apiをポッドとして実行していました。 APIはよくデータベースに接続しましたが、それは、突然、このエラーを示す失敗しました:API podが同じkubernetesクラスタのmongo podに接続できませんでした

listening to http server on 0.0.0.0:8080... 

events.js:160 
     throw er; // Unhandled 'error' event 
    ^
MongoError: failed to connect to server [mongo:27017] on first connect [MongoError: getaddrinfo ENOTFOUND mongo mongo:27017] 
    at Pool.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/topologies/server.js:328:35) 
    at emitOne (events.js:96:13) 
    at Pool.emit (events.js:188:7) 
    at Connection.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/pool.js:274:12) 
    at Connection.g (events.js:292:16) 
    at emitTwo (events.js:106:13) 
    at Connection.emit (events.js:191:7) 
    at Socket.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/connection.js:177:49) 
    at Socket.g (events.js:292:16) 
    at emitOne (events.js:96:13) 
    at Socket.emit (events.js:188:7) 
    at connectErrorNT (net.js:1021:8) 
    at _combinedTickCallback (internal/process/next_tick.js:80:11) 
    at process._tickDomainCallback (internal/process/next_tick.js:128:9) 

私はコンテナを削除して再作成するために、PRODSを再起動しようとしませんが、何の成功?

これは私がデータベースに接続する方法である:

mongoose.connect(process.env.MONGO_DEV_URL || process.env.MONGODB_URI || 'mongodb://mongo:27017:yaxiDb/yaxiDb', { useMongoClient: true }); 

は、どのように私は問題になる可能性があり、これをデバッグすることができますか?

答えて

0

私はちょうど解決策を見つけました。サービスの作成順番はです。そのデータベースを使用するすべてのサービスを削除して再作成しました。

kubectl delete -f containers/backend/ 
kubectl create -f containers/backend/ 
関連する問題