【问题标题】:Readiness probe failed: MongoDB shell version v4.0.10就绪探测失败:MongoDB shell 版本 v4.0.10
【发布时间】:2019-06-08 15:50:22
【问题描述】:

在 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

【问题讨论】:

    标签: mongodb kubernetes connection socketexception


    【解决方案1】:

    我观察到了同样的错误,一旦我在部署内部的Readiness 探针规范中将initialDelaySeconds: 值增加到某个更高的数字,问题就消失了,mongodb Pod 已毫无错误地生成。实际上,docker拉起docker.io/bitnami/mongodb镜像并初始化socketmongodb监听器需要一些时间,因此Readiness探针表明容器进程尚未准备好网络连接时出现问题。

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

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

    kubectl logs <mongodb-Pod-name>

    我使用stable/mongodb Helm chart 部署了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.054+0000 E QUERY [js] 错误:无法连接 到服务器 127.0.0.1:27017,连接尝试失败:SocketException: 连接到 127.0.0.1:27017 :: 时出错 :: Connection refused :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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-05
      • 2018-07-10
      • 1970-01-01
      • 2019-09-24
      • 2019-10-12
      • 2023-03-11
      • 2021-02-06
      • 1970-01-01
      相关资源
      最近更新 更多