准备就绪调查失败:MongoDB Shell版本v4.0.10

时间:2019-06-08 15:50:22

标签: mongodb kubernetes connection socketexception

在kubernetes中运行monogodb时,出现以下错误:-

我试图更改mongodb的图像

Warning  Unhealthy  2m28s  kubelet, minikube  Readiness probe failed: MongoDB 
shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-06-08T15:25:01.774+0000 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed
 Warning  Unhealthy  2m17s  kubelet, minikube  Readiness probe failed: MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-06-08T15:25:12.008+0000 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

1 个答案:

答案 0 :(得分:1)

我观察到了同样的错误,一旦我在部署内部的Readiness探针规范中将initialDelaySeconds:的值增加到一个更高的数字,问题就消失了,并且已经产生了mongodb Pod没有错误。实际上,Docker需要花费一些时间来拉起docker.io/bitnami/mongodb映像并初始化套接字mongodb侦听器,因此Readiness探针指示在容器进程尚未准备好进行网络连接时出现问题。

    readinessProbe:
      exec:
        command:
        - mongo
        - --eval
        - db.adminCommand('ping')
      failureThreshold: 6
      initialDelaySeconds: 360
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 5

同时,您可以检查mongodb窗格中的任何入站连接状态或任何相关事件。

kubectl logs <mongodb-Pod-name>

我使用了stable/mongodb Helm图表来部署MongoDB,并发现了与您类似的错误:

helm install --name mongodb stable/mongodb

  

警告不健康的38m kubelet,   gke-helm-test-default-pool-efed557c-52tf“就绪”探针失败:   MongoDB Shell版本v4.0.9连接到:   mongodb://127.0.0.1:27017 /?gssapiServiceName = mongodb   2019-06-10T12:46:46.0​​54 + 0000 E查询[js]错误:无法连接   到服务器127.0.0.1:27017,连接尝试失败:SocketException:   连接到127.0.0.1:27017 ::的错误由::连接被拒绝引起   :connect@src/mongo/shell/mongo.js:343:13 @(connect):2:6例外:   连接失败

当我进行了一些调整并将readinessProbe.initialDelaySeconds从5秒增加到360秒时,mongodb容器运行起来没有任何故障。

helm install --name mongodb stable/mongodb --set readinessProbe.initialDelaySeconds=360